android - 如何阻止在 Android 设备上启动其他应用程序

标签 android service android-launcher

我基本上是在寻找一种需要阻止其他应用程序的解决方案。因此,在我作为服务运行的应用程序中,将始终检查两种不同的状态: Activity 和非 Activity 。如果状态是 Activity 的,我需要阻止其他应用程序。 “阻止其他应用”可以是这样的:

  1. 当点击任何应用程序(假设是 facebook)时,它不应打开该特定应用程序。相反,它应该显示无法通过按菜单按钮、后退按钮或主页按钮关闭的我的 Activity 。

  2. 可以编写启动器应用程序吗?这将一直检查状态。如果状态为 Active,启动器应用程序将自动启动,否则 android 默认启动器应用程序将照常工作。启动器应用程序是否有可能无法通过按后退按钮或主页按钮关闭?

这个我试过了。直到现在使用该服务,我才能获得其他应用程序的启动时间。那时,我能够展示我的 Activity 。但是我点击的应用程序仍然在后台打开,而且当我按下后退按钮或主页按钮时,我的 Activity 正在关闭。

我该怎么做?

还想知道是否有人尝试过第二种选择。

提前致谢。

-阿林达姆

最佳答案

为您服务 1,可以重写onKeyDown方法

 public boolean onKeyDown(int keyCode, KeyEvent event) {
     if(KeyEvent.KEYCODE_HOME==keyCode){
         //DoThings
     }
     //For more read the Android api
     return super.onKeyDown(keyCode, event);
 }

2,你不用再检查了,launcher app是一个Delegator,它一直在你的app中,就像google launcher一样。

关于android - 如何阻止在 Android 设备上启动其他应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26749493/

相关文章:

android - 使用自定义警报对话框 onbackpressed 时出错

android - LibVlc2.1.12 中的视频预览问题

javascript - Android 4.0.4 上的 webkit 焦点行为

android - 无法启动服务 Intent

windows - 服务 创建服务 - 将 SC_MANAGER_CREATE_SERVICE 分配给用户

objective-c - 如何将Cocoa应用程序分解为可重用的功能部分?

java - TouchWiz 启动器检测

android - 如何定时调用onDraw?

android - 在 Android 中以编程方式更改应用程序名称和图标?

SDK 升级后 Android 模拟器运行缓慢且出现故障