推荐当贝市场

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 39675|回复: 17

[其它] 按主页键后要等好几秒之后才会出现桌面

[复制链接]
发表于 2024-12-26 18:40 | 显示全部楼层 |阅读模式
按主页键出现桌面壁纸,等好几秒之后才会出现桌面快捷图标和其他东西,这是什么原因呢?
发表于 2025-3-4 11:07 | 显示全部楼层
chan00010 发表于 2024-12-27 09:48
public void onHomePressed() {
        String myPkgName = getPackageName();
        SharedPrefere ...

    public void onHomePressed() {
        if (getSharedPreferences("general_file", 0).getBoolean("home_buzaitixing", true)) {
            Intent intent = new Intent(this, (Class<?>) IndexActivity.class);
            intent.addFlags(268435456);
            PendingIntent.getActivity(this, 0, intent, 0).send();
        }
    }
代码优化一下
回复 顶一个 1 踩 0

使用道具 举报

发表于 2024-12-29 10:44 | 显示全部楼层
本帖最后由 gvs123 于 2024-12-29 10:45 编辑
行者1823 发表于 2024-12-27 10:36
这功能确实有些多余,按下主页键,系统跳出一个桌面选择对话框,当欠桌面也跳出一个桌面选择对话框。 ...

麻烦大佬看一下这个教程,是不是还是修改当被桌面 给桌面权限。如果可以的话 麻烦大佬修改下乐视专版。就这个真的不会黑屏。
回复 顶一个 1 踩 0

使用道具 举报

发表于 2024-12-27 09:48 | 显示全部楼层
    public void onHomePressed() {
        String myPkgName = getPackageName();
        SharedPreferences sp = getSharedPreferences("general_file", 0);
        if (res == null) {
            if (getHomes() != null && !getHomes().equals(myPkgName) && sp.getBoolean("home_buzaitixing", true)) {
                Intent intent = new Intent(this, (Class<?>) IndexActivity.class);
                intent.addFlags(268435456);
                PendingIntent.getActivity(this, 0, intent, 0).send();
                return;
            }
            return;
        }
        if (!res.activityInfo.packageName.equals(myPkgName) && sp.getBoolean("home_buzaitixing", true)) {
            Intent intent2 = new Intent(this, (Class<?>) IndexActivity.class);
            intent2.addFlags(268435456);
            PendingIntent.getActivity(this, 0, intent2, 0).send();
        }
    }
回复 顶一个 1 踩 0

使用道具 举报

发表于 2024-12-27 09:44 | 显示全部楼层
Android 点击Home键之后启动Activity会延迟5秒的情况

就是当通过 home 键将当前 activity 置于后台时,任何在后台startActivity 的操作都将会延迟 5 秒,除非该应用获取了 “android.permission.STOP_APP_SWITCHES” 权限。
关于延迟 5 秒的操作在 com.android.server.am.ActivityManagerService 中的 stopAppSwitches() 方法中,系统级的应用当获取了 “android.permission.STOP_APP_SWITCHES” 后将不会调用到这个方法来延迟通过后台启动 activity 的操作,事实上 android 原生的 Phone 应用就是这样的情况,它是一个获取了”android.permission.STOP_APP_SWITCHES” 权限的系统级应用,当有来电时,一个从后台启动的 activity 将突然出现在用户的面前,警醒用户有新的来电,这样的设计是合理的。
关于此问题的解决方案
1. 获取以下权限
android.permission.STOP_APP_SWITCHES`
2. 通过以下方式启动activity
Intent intent = new Intent(context, TransparentActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
pendingIntent.send();
回复 顶一个 1 踩 0

使用道具 举报

 楼主| 发表于 2024-12-26 18:42 | 显示全部楼层
本帖最后由 cdc10 于 2024-12-26 18:43 编辑

微信图片_20241226184116.jpg 至少要等5、6秒之后才会出现这个画面
微信图片_20241226184122.jpg
回复 顶一个 踩

使用道具 举报

发表于 2024-12-26 21:41 | 显示全部楼层
内置到固件里或者adb禁用原桌面,如果过不行就没办法了。
回复 顶一个 踩

使用道具 举报

 楼主| 发表于 2024-12-26 22:30 | 显示全部楼层
game222 发表于 2024-12-26 21:41
内置到固件里或者adb禁用原桌面,如果过不行就没办法了。

就是内置到固件里面的,原桌面已经删除
回复 顶一个 踩

使用道具 举报

发表于 2024-12-27 01:03 | 显示全部楼层
把 桌面提醒 关掉
回复 顶一个 踩

使用道具 举报

发表于 2024-12-27 01:05 | 显示全部楼层
如果你有动手能力 就反编译apk精简掉 home_jump
回复 顶一个 踩

使用道具 举报

发表于 2024-12-27 09:51 | 显示全部楼层
以上代码可以干掉homedialog,主页键一键直接回桌面
妈妈再也不用担心主页键被厂家绑定了
回复 顶一个 踩

使用道具 举报

发表于 2024-12-27 10:36 来自ZNDS手机版 | 显示全部楼层
这功能确实有些多余,按下主页键,系统跳出一个桌面选择对话框,当欠桌面也跳出一个桌面选择对话框。
回复 顶一个 踩

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

Archiver|小黑屋|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

GMT+8, 2026-11-6 06:49 , Processed in 0.036143 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表