如何在后台启动另一个应用程序?

How to launch another app in the background?

我在启动时启动我的应用程序,但我希望它在后台启动。

Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage("my.app");
if (launchIntent != null) {
   context.startActivity(launchIntent);//null pointer check in case package name was not found
}

知道如何在不在前台启动应用程序的情况下做到这一点吗?

试试这个

public class Background extends Service { 
//declare variables
@Nullable
@Override
public IBinder onBind(Intent intent) {
    return null;
}


@Override
public int onStartCommand(Intent intent, int flags, int startId) {

    //your code here


    return 1;
}

理论上,一个应用程序主要由两个组件组成。

  1. Activity : 在前台运行,主要是 GUI 对于 app 和用户与 activity 交互,因为它从 user 获取输入并显示所需的结果。

  2. 服务:在后台运行,执行activity所需的所有操作以产生结果通过接收来自 activity(user) 的输入并将结果发送回 activity 用于显示它们。

那么,您的问题是在后台启动 app!这可以通过在 boot up 上启动 appservice 并执行您指定的任务来实现想表演

P.s:要在 boot-up 上启动 Service,您将需要设置 Boot-Receiver。如果您需要有关此的任何进一步信息,请告诉我。

我觉得你可以启动它,但是你可以使用它

如本文所述android service exported attribute?

"exported"的目的是让其他应用程序可以访问服务。

上面的post解释的很好。希望它对其他人也有帮助。