如何在后台启动另一个应用程序?
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;
}
理论上,一个应用程序主要由两个组件组成。
Activity : 在前台运行,主要是 GUI 对于 app 和用户与 activity 交互,因为它从 user 获取输入并显示所需的结果。
服务:在后台运行,执行activity所需的所有操作以产生结果通过接收来自 activity(user) 的输入并将结果发送回 activity 用于显示它们。
那么,您的问题是在后台启动 app!这可以通过在 boot up 上启动 app 的 service 并执行您指定的任务来实现想表演
P.s:要在 boot-up 上启动 Service,您将需要设置 Boot-Receiver。如果您需要有关此的任何进一步信息,请告诉我。
我觉得你可以启动它,但是你可以使用它
如本文所述android service exported attribute?
"exported"的目的是让其他应用程序可以访问服务。
上面的post解释的很好。希望它对其他人也有帮助。
我在启动时启动我的应用程序,但我希望它在后台启动。
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;
}
理论上,一个应用程序主要由两个组件组成。
Activity : 在前台运行,主要是 GUI 对于 app 和用户与 activity 交互,因为它从 user 获取输入并显示所需的结果。
服务:在后台运行,执行activity所需的所有操作以产生结果通过接收来自 activity(user) 的输入并将结果发送回 activity 用于显示它们。
那么,您的问题是在后台启动 app!这可以通过在 boot up 上启动 app 的 service 并执行您指定的任务来实现想表演
P.s:要在 boot-up 上启动 Service,您将需要设置 Boot-Receiver。如果您需要有关此的任何进一步信息,请告诉我。
我觉得你可以启动它,但是你可以使用它
如本文所述android service exported attribute?
"exported"的目的是让其他应用程序可以访问服务。
上面的post解释的很好。希望它对其他人也有帮助。