android - 如何唤醒另一个Android应用程序?

标签 android

我想编写一个看门狗应用程序来监视另一个应用程序,并在它不存在时将其唤醒。

有没有办法无需特定集成即可唤醒另一个应用程序?也许唤醒其他应用程序上的某些服务?

** 通过唤醒,我的意思是其他应用程序开始运行,但没有明确显示任何 UI。例如,录音机可能会唤醒并在后台工作。不应显示其主视图。

最佳答案

  1. 使用action=MAIN和category=LAUNCHER创建 Intent
  2. 使用 context.getPackageManager 从当前上下文获取 PackageManager
  3. packageManager.queryIntentActivity(<intent>, 0) 其中intent具有category=LAUNCHER、action=MAIN或packageManager.resolveActivity(<intent>, 0)来获取带有主/启动器的第一个 Activity
  4. 获取您感兴趣的 ActivityInfo
  5. 从 ActivityInfo 中获取 packageName 和名称
  6. 最后,使用 withcategory=LAUNCHER, action=MAIN, componentName = new ComponentName(packageName, name) 和 setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 创建另一个 Intent
  7. 最后,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/

相关文章:

android - 使用Android Studio 3.0中的发布任务,Gradle复制APK文件

java - Android onclicklistener 在不同的布局下,我一直失败

android - 在 Localytics 推送通知中实现深度链接

android - 在所有 mdpi/hdpi/xhdpi 等中添加图像会增加所有设备的应用程序大小吗? - 安卓

Eclipse 中的 Android 测试项目根目录问题

java - 蓝牙传输应用程序在使用 InputStream.read() 后停止,没有错误

android - 如何通过改造发送 List<String> ?

android - 切换到轴控件到屏幕按钮控件时动画不起作用

Android 用户输入,使用自定义键盘

android - 在前缀为 : mips64el-linux-android 的 ABI 的 NDK 工具链文件夹中找不到工具链