360手机开启权限问题
506967734 opened this issue · 12 comments
手机:8681-M02 系统:5.1
问题:点击去开启以后报错
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.settings/com.android.settings.Settings$OverlaySettingsActivity}; have you declared this activity in your AndroidManifest.xml?
at com.geely.g_assistant.utils.permission.rom.QikuUtils.applyPermission(QikuUtils.java:55)
at com.geely.g_assistant.utils.permission.FloatWindowManager$1.confirmResult(FloatWindowManager.java:133)
at com.geely.g_assistant.utils.permission.FloatWindowManager$6.onClick(FloatWindowManager.java:218)
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:174)
你能把手机的悬浮窗设置页面用 adb shell dumpsys activity 发给我看一下么,这里我先用 try-catch 做一下兼容性处理
代码已经提交了,咱们两把你的机型适配好~
我这里也是监控到有报错信息,目前没有真机
是的,我等下把代码写一下,然后你验证一下看能否适配好这个手机
/**
* 去360权限申请页面
*/
public static void applyPermission(Context context) {
Intent intent = new Intent();
intent.setClassName("com.android.settings", "com.android.settings.Settings$OverlaySettingsActivity");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (isIntentAvailable(intent, context)) {
context.startActivity(intent);
} else {
intent.setClassName("com.qihoo360.mobilesafe", "com.qihoo360.mobilesafe.ui.index.appEnterActivity");
if (isIntentAvailable(intent, context)) {
context.startActivity(intent);
} else {
Log.e(TAG, "can't open permission page with Settings$OverlaySettingsActivity, please use " +
"\"adb shell dumpsys activity\" command and tell me the name of the float window permission page");
}
}
}
private static boolean isIntentAvailable(Intent intent, Context context) {
if (intent == null) {
return false;
}
return context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0;
}
你试一下这段代码在你的手机上能否成功跳转
我在网上找了一圈的源码,找不到啊,唯一的方法就是去360里面的人,看能不能搞到代码,这个issue先挂着吧
@zhaozepeng 你的appEnterActivity
第一个字母是大写吧
@506967734 改成大写的试试呢?
@czy1121 好吧,我的错,我的错,是大写,我不仔细了,
@506967734 你可以试试改成大写
@506967734 OK,我已经提交了代码上去