我想编写一个看门狗应用程序来监视另一个应用程序,并在它不存在时将其唤醒。
有没有办法无需特定集成即可唤醒另一个应用程序?也许唤醒其他应用程序上的某些服务?
** 通过唤醒,我的意思是其他应用程序开始运行,但没有明确显示任何 UI。例如,录音机可能会唤醒并在后台工作。不应显示其主视图。
最佳答案
- 使用action=MAIN和category=LAUNCHER创建 Intent
- 使用 context.getPackageManager 从当前上下文获取 PackageManager
- packageManager.queryIntentActivity(<intent>, 0) 其中intent具有category=LAUNCHER、action=MAIN或packageManager.resolveActivity(<intent>, 0)来获取带有主/启动器的第一个 Activity
- 获取您感兴趣的 ActivityInfo
- 从 ActivityInfo 中获取 packageName 和名称
- 最后,使用 withcategory=LAUNCHER, action=MAIN, componentName = new ComponentName(packageName, name) 和 setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 创建另一个 Intent
- 最后,context.startActivity(newIntent)
或者您可以使用:
Intent intent = new Intent("android.intent.action.MAIN");
intent.setComponent(ComponentName.unflattenFromString("com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks"));
intent.addCategory("android.intent.category.LAUNCHER");
startActivity(intent);
关于android - 如何唤醒另一个Android应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20760974/