gpt4 book ai didi

android - 按下 HOME 按钮后从服务启动 Activity ,没有 5 秒延迟

转载 作者:IT老高 更新时间:2023-10-28 21:37:31 28 4
gpt4 key购买 nike

我遇到了这个 Android 问题中描述的问题: http://code.google.com/p/android/issues/detail?id=4536

简单地说,在按下 HOME 键后,android 会在 5 秒内阻止服务和广播接收器调用 startActivity。

我还注意到(嗯,理论上),拥有以下权限:

"android.permission.STOP_APP_SWITCHES"

允许您调用 resumeAppSwitches(在 ActivityManagerService 中定义)。查看最新版本的ActivityManagerService,这段代码被去掉了。

问题:如何在没有 5 秒延迟的情况下使用 startActivity 启动 Activity?

最佳答案

这是我找到的解决方案。

将你想要立即启动的 Intent 放在一个 PendingIntent 中,然后在其上调用 send() 方法。

所以不是这个

Intent intent = new Intent(context, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

就这样做

Intent intent = new Intent(context, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent =
PendingIntent.getActivity(context, 0, intent, 0);
try {
pendingIntent.send();
} catch (PendingIntent.CanceledException e) {
e.printStackTrace();
}

关于android - 按下 HOME 按钮后从服务启动 Activity ,没有 5 秒延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5600084/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com