【发布时间】:2019-01-06 07:49:29
【问题描述】:
我的目标是将我的应用设置为华为设备上的默认启动器。
1 - 解释:
1.1 - 当前情况:
我已经能够:
- 检查我的应用是否是默认启动器
- 显示“启动器选择器”(带有“使用一次”/“始终”选项)
一切正常。华为设备除外!
在我看来,华为的 Android 风格并没有正确地“尊重”“ACTION_MANAGE_DEFAULT_APPS_SETTINGS”意图操作合约。
// this displays the list of default apps on all tested devices, except on Huawei devices!
// instead, it does display apps permissions, app links and apps'advanced settings
intent.setAction(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS);
activity.startActivity(intent);
作为 B 计划,我可以使用以下方式显示“应用程序和通知”设置“页面”:
String packageName = "com.android.settings";
String className = "Settings$AppAndNotificationDashboardActivity";
intent.setClassName(packageName, packageName + "." + className);
activity.startActivity(intent);
所以用户可以从那里导航,按下这个菜单项序列:
- -> 高级参数(可扩展菜单项:平板电脑上不存在,手机上也不确定)
- -> 默认应用
- -> 默认启动器
这需要我想避免的 2 或 3 个步骤。
1.2 - 这可以改进!
I found out that when the "-> Default Apps" menu item is selected, a (com.android.settings, .SubSettings) Intent (with extra) is launched but I was not able使其工作(拒绝许可)。
但是我安装了Nova Launcher,结果发现它可以在华为设备上显示“->默认应用”设置页面!
因此,用户登陆一个页面,她/他只需点击“-> 默认启动器”,然后选择默认启动器:更容易。
2 - 问题:
我认为在华为设备上无法显示“Lancher Picker”,这是我的问题:
如何在华为设备上(如 Nova Launcher 那样)显示“-> 默认应用”设置页面(图片在此处)?
他们是否在华为设备上使用了其他意图操作?
在此先感谢您的帮助。
【问题讨论】:
标签: android android-intent huawei-mobile-services