android console删除应用 - 如何从最近的应用程序列表中删除应用程




play删除应用 google (8)

尝试

<activity android:name=".MainActivity"
        android:excludeFromRecents="true" ...

AndroidManifest.xml的活动声明中。

我想Android不会让人们这样做,因为他们认为他们有完美的任务/应用程序处理。 但是,在我的情况下,我真的需要这样做。

我有一个活动A作为我的申请的入口点。 在该活动中,它读取偏好并决定开始哪个活动,比如B或C.之后,它完成了自己。 因此,活动A永远不会出现在用户身上。

我的应用程序将东西存储在SD卡上,并不断地从中读取。 因此,当卸载SD卡时,我需要向用户显示sdcard不可用的消息,而不是打开B或C.我在A中设置检查以在sdcard不可用时显示该消息。 显示该消息时,A不会尝试启动B或C.

如果用户只从应用程序启动器输入我的应用程序,事情就完美无缺。 但是,我发现用户也可以通过长按home进入我的应用程序并从最近的应用程序列表中选择它,如果他最近打开它。 当用户执行此操作时,它会跳过A并直接转到B或C.我没有检查它们,因此在我尝试访问sdcard时抛出异常,并弹出强制关闭对话框。

我可以简单地将支票移到B和C来解决这个问题。 但是在未来,从A开始的活动数量将会增加。 如果有6个,我需要将此支票复印到6个地方。 毋庸置疑,这看起来非常难看,而且是一场维护噩梦。

因此,最好的解决方案应该是在卸载SD卡时从最近的应用程序列表中删除我的应用程序。 但是,我找不到如何做到这一点。 即使查杀进程或使用ActivityManager.restartPackage,它仍会出现在列表中。 谁能告诉我如何从列表中删除它?


好的,我知道它可以在2.3.4中完成。 打开应用程序Toddler Lock会清除最近的应用程序列表,这样当您长按主页键“锁定”手机时,列表为空白。 不幸的是我还没有找到怎么做。 所以对于那些正在寻找和阅读postf的人来说,说不可能不要放弃。 我确定不是。


从最近的应用程序列表中删除您的应用程序可能是不可能的,并且绝对不是最佳解决方案。 这只会让期望所有应用程序行为相似的用户感到困惑。

无论如何,我认为它不会解决你的问题。 如果用户在活动B上回家,然后从主页选择您的应用程序,它将再次启动Activiy B.

有许多方法可以解决实际问题。 一个简单的方法可能是创建一个执行SD卡检查的基本活动,并让您的所有活动都从中扩展。 这样检查只在一个地方。


如果您想退出按钮上的应用程序,请单击以下代码:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);

要杀死完整的应用程序并从Runningapp列表中删除它通过其pid杀死应用程序(它讨厌)...在上面的代码之前使用这一行。

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);

只需在清单文件中的活动标签中添加android:excludeFromRecents="true"即可


您需要设置AndroidManifest.xml:

<activity>
  ...
  android:excludeFromRecents="true"
  ...
</activity>

或从此开始此活动

intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);

以及AndroidManifest.xml

<activity>
  ...
  android:label=""
  ...
</activity>

将标签设置为空将使此活动不会显示在“最近的应用”列表中。


其他属性可以帮助您的活动与同一包中的其他活动隔离。

<activity 
android:name=".aActivity"
android:excludeFromRecents="true"
android:taskAffinity=""
android:launchMode="singleInstance">

使用Intel x86仿真器加速器

首先,安装Intel x86仿真器加速器(HAXM)。 这可以直接从英特尔下载或使用Android SDK Manager下载。 在SDK Manager中,它位于Extras下。

在我使用的Android Studio版本(0.8.9)中,Android SDK Manager下载了HAXM,但实际上并没有运行安装程序(我假设这将在以后的版本中修复)。 要运行已安装的我必须转到C:\ Program Files(x86)\ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager并手动启动intelhaxm.exe。

HAXM与英特尔设备配合使用,因此创建了一个带有英特尔CPU的新仿真器。

使用Intel Atom x86创建新的AVD

这大大改善了一些事情,但模拟器仍然感觉有些迟钝。 最后一步是在Android虚拟设备管理器(AVD)中选择使用主机GPU。

在这些更改之后,Android Emulator在5-10秒内启动并且运行时没有任何明显的延迟。 请注意,这些功能与硬件有关(CPU / GPU),可能无法在某些系统上运行。





android