xingda920813 / HelloDaemon

Android 服务保活/常驻 (Android service daemon using JobScheduler)
MIT License
2.31k stars 443 forks source link

关于白名单设置 #20

Closed haiyang1994 closed 7 years ago

haiyang1994 commented 7 years ago

老哥,你是怎么兼容各个手机版本的省电管理的。

例如我有个魅族note5,用了 Intent mzKeeper = new Intent(); mzKeeper.setComponent(new ComponentName("com.meizu.safe","com.meizu.safe.powerui.PowerAppPermissionActivity")); keepers.add(mzKeeper);

没有效果。

我想问下你是怎么知道省电管理的Activity全名的,这样下次有其他手机需要兼容的话,可以举一反三。

谢谢

haiyang1994 commented 7 years ago

知道了 ./adb shell dumpsys activity | grep mResumedActivity 能获取到当前界面的activity

xingda920813 commented 7 years ago

Flyme 6 只有一处设置了,是在应用信息那里。所以上面的 MEIZU_GOD 对应的 Intent 在 Flyme 6 上是无效的。

haiyang1994 commented 7 years ago

@xingda920813 你的意思是flyme旧版本的是通过你说的MEIZU_GOD来设置的,而flyme6以及以后的代码就不生效了。只能通过应用信息来设置吧?

xingda920813 commented 7 years ago

不是,旧版本有两处设置,新版本魅族把它合成了一处设置,只需设置应用信息里面的选项即可。

haiyang1994 commented 7 years ago

好,谢谢回答。

那旧版本的只需要设置一处还是两处都需要设置呢?

新版本的设置代码: Intent meizuIntent = new Intent("com.meizu.safe.security.SHOW_APPSEC"); meizuIntent.setClassName("com.meizu.safe", "com.meizu.safe.security.AppSecActivity"); meizuIntent.putExtra("packageName", activity.getPackageName());

xingda920813 commented 7 years ago

旧版本设置两处好一些。

haiyang1994 commented 7 years ago

好,谢谢解答。