android - 如何以编程方式关闭外部应用程序?

标签 android android-intent

在我的应用程序中,我曾经通过 Intent.ACTION_VIEW 外部应用程序开始查看图像/视频等。

出于安全原因,我需要从我的应用程序中关闭已启动的 Intent。如何做到这一点?

最佳答案

如果您知道要启动哪个应用程序,请使用

android.os.Process.killProcess(pid); 

您可以使用此类从正在运行的进程中获取进程 ID:RunningAppProcessInfo

你不能直接得到它,因为这违反了安全性:

为什么不通过调用 setPackage() 来限制给用户的选择?

如果你真的想知道启动了哪个应用程序,这里是代码

ActivityManager am = (ActivityManager) context.
    getSystemService(Activity.ACTIVITY_SERVICE);
String packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName();
String className = am.getRunningTasks(1).get(0).topActivity.getClassName();

关于android - 如何以编程方式关闭外部应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7832126/

相关文章:

android - 方向规范在什么情况下不起作用

java - 保存 Android 应用程序状态

android - onSaveInstanceState 限制?

android - 自定义 Android 联系人选择器

android - 通过 WhatsApp 按 Intent 发送消息

android - listView SetAdaptor 在应用程序启动时导致崩溃

android - 如何找出用于签署应用程序的 keystore ?

android - 在 android 中调用 Intent.ACTION_VIEW 后返回

java - 使用 intent 的 Android 6.0 instagram 图像共享不起作用

android - 使 "up"按钮的行为类似于 Android 上的 "back"按钮