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

Android 如何在后台启动另一个应用程序?,android,background-process,Android,Background Process,我正在启动我的应用程序,但我希望它在后台启动 Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage("my.app"); if (launchIntent != null) { context.startActivity(launchIntent);//null pointer check in case package name was not found } 你知道在前台不启动应用程序的

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

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;
}
理论上,一个应用程序主要由两个组件组成

  • 活动:在前台运行,该前台主要是应用程序的GUI,用户与活动交互,因为它接收用户输入并显示所需结果

  • 服务:在后台运行,执行活动所需的所有操作,通过接收来自活动(用户)的输入生成结果,并将结果发送回活动,以显示结果

  • 所以,你的问题是在后台启动应用程序!这可以通过在启动时启动应用程序的服务来实现,并执行您想要执行的任务


    注意:要在启动时启动服务,您需要设置启动接收器。如果您想了解更多信息,请告诉我。

    我想您可以启动它,但您可以使用它

    如本文所述

    导出的目的是让其他应用程序可以访问某项服务。


    上面的帖子解释得很好。可能对其他人也有帮助。

    背景意味着什么?不太确定。我猜在后台运行的应用程序实际上只是在使用服务。您基本上需要在启动完成操作后启动服务。我不想在后台运行我自己的应用程序,我想在后台运行另一个应用程序,这意味着我需要在启动时启动其后台服务。对于此要求,我想你必须选择广播接收器,我想这是在两个应用程序之间使用android:exported=“true”标签进行通信的唯一方法。广播接收器是否可以从其应用程序之外的源接收消息—如果可以,则为“真”,如果不能,则为“假”。如果“false”。不,我想启动另一个应用程序后台服务,但我认为这是不可能的。我不是很确定,但我认为应用程序只能启动自己的服务。请尝试,如果广播意图解决您的问题…我想启动另一个应用程序的后台服务。有可能吗?看到这一点,但它是关于启动活动的,但不确定是否有服务。对于这一要求,我想你必须选择广播接收器,我想这是使用标记android:exported=“true”在两个应用程序之间进行通信的唯一方法。广播接收器是否可以从其应用程序之外的源接收消息—如果可以,则为“真”,如果不能,则为“假”。如果“假”。