高亮显示系统设置中的菜单项 [英] Highlighting a menu item in system settings

查看:339
本文介绍了高亮显示系统设置中的菜单项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

试图提出一个我没有在这里找到的问题-如何突出显示android设置应用程序菜单项?

Trying to bring up an unaswered question I found here - How to highlight android setting app menu item?

如该视频所示 https://www.youtube.com/watch?v= eHXBc5Mmsqs

"Power Shade"进入屏幕后,菜单项将突出显示.我正在尝试将相同功能添加到我的应用中,使用此突出显示功能将用户引导至设置菜单中的某个项目.我似乎找不到有关如何实际执行此操作的任何信息,也不知道它是否具有我可以搜索的特定名称.

The "Power Shade" menu item is being highlighted once you enter the screen. I am trying to add the same feature to my app, guiding users to an item in the settings menu using this highlight feature. I can't seem to find any information on how to actually implement this, nor do I know if it has a specific name I could search for.

任何帮助将不胜感激!

推荐答案

反编译应用程序后,以下是它的工作原理(简化):

After decompiling the app, here's how it works (simplified):

Intent intent = new Intent("com.samsung.accessibility.installed_service");
if (intent.resolveActivity(context.getPackageManager()) == null) {
    intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
}
    
final String EXTRA_FRAGMENT_ARG_KEY = ":settings:fragment_args_key";
final String EXTRA_SHOW_FRAGMENT_ARGUMENTS = ":settings:show_fragment_args";
    
Bundle bundle = new Bundle();
String showArgs = context.getPackageName() + "/" + MyService.class.getName();
bundle.putString(EXTRA_FRAGMENT_ARG_KEY, showArgs);
intent.putExtra(EXTRA_FRAGMENT_ARG_KEY, showArgs);
intent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, bundle);
    
try {
    context.startActivity(intent);
    String toastText = "Find PowerShade here";
    Toast.makeText(context, toastText, LENGTH_LONG).show();
} catch (Exception e) {
    // ask user to grant permission manually
}

基本上它使用的是未公开的Android功能(请参见 SettingsActivity.java (在Android源代码中).

Basically it's using undocumented features of Android (see SettingsActivity.java in Android source).

这篇关于高亮显示系统设置中的菜单项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆