Android 7.0 Settings 根目录添加自定义功能项
来源:互联网 发布:java开发需要掌握技术 编辑:程序博客网 时间:2024/06/06 00:53
一.添加自定义分组
1.Settings/res/values/donottranslate.xml 添加自定义分组类型
<string name="category_key_olcsettings">com.android.settings.category.olcsettings</string>
添加自定义分组类型
2.添加自定义类型的实现
Settings/src/com/android/settings/Settings.java 添加分组类型实现
public class Settings extends SettingsActivity {
......
public static class OlcSettings extends SettingsActivity { /* empty */ }
......
}
3.在 AndroidManifest.xml 中声明自定义类型分组类型
......
<activity android:name=".Settings$OlcSettings"
android:label="@string/header_category_olc_settings">
<intent-filter android:priority="5"> <!-- priority="5" 数字越大越靠前-->
<!-- 第一步声明的自定义分组类型名称-->
<action android:name="com.android.settings.category.olcsettings" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
二. 在自定义分组类型下添加功能项
1.创建自定义功能
package com.olc.net;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.R;
public class LANNTPServerVerify extends SettingsPreferenceFragment {
/** 继承父类SettingsPreferenceFragment 必须实现的方法, MetricsEvent.OLC_SETTINGS需要添加定义*/
@Override
protected int getMetricsCategory() {
return MetricsEvent.OLC_SETTINGS;
}
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
final View view = inflater.inflate(R.layout.olc_security_verify_pwd,
container, false);
return view;
}
}
2. 添加 MetricsEvent.OLC_SETTINGS 的定义
framework/base/proto/src/metrics_constants.proto 应避免数值重复
......
//wpx olc settings
// OPEN: Settings > settings
// CATEGORY: SETTINGS
// OS: 6.0
OLC_SETTINGS = 744;
......
3.添加自定义功能
Settings/src/com/android/settings/Settings.java
......
public static class LANNTPServerVerifyActivity extends SettingsActivity { /* empty */ }
......
4.修改SettingsActivity
Settings/src/com/android/settings/SettingsActivity.java
// Show only these settings for restricted users
private String[] SETTINGS_FOR_RESTRICTED = {
......
Settings.LANNTPServerVerifyActivity.class.getName(),
......
}
private static final String[] ENTRY_FRAGMENTS = {
......
com.olc.net.LANNTPServerVerify.class.getName(),
......
}
5.修改 AndroidManifest.xml
添加
<activity android:name="Settings$LANNTPServerVerifyActivity"
android:label="@string/olc_settings_lan_time_sync"
android:icon="@drawable/ic_lan_ntp"
android:taskAffinity="">
<intent-filter android:priority="1">
<action android:name="com.android.settings.OLCSETTINGS_LANNET" />
<action android:name="android.settings.DISPLAY_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
<intent-filter android:priority="9">
<action android:name="com.android.settings.action.SETTINGS" />
</intent-filter>
<!-- 定义此功能项,归属那个分类. com.android.settings.category.olcsettings 是Settings/res/values/donottranslate.xml 自定义的分组名称-->
<meta-data android:name="com.android.settings.category"
android:value="com.android.settings.category.olcsettings" />
<!-- 指定自定义 Frame 路径 "com.olc.security.OlcSecurityVerify"
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.olc.security.OlcSecurityVerify" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
阅读全文
0 0
- Android 7.0 Settings 根目录添加自定义功能项
- Android 7.0&8.0 Quick Settings 添加一个新项
- android settings模块中添加来电反转静音功能
- Settings添加屏幕旋转功能
- Android 7.0 settings中添加新菜单
- Android 7.0 settings中添加/删除菜单
- Android Settings添加选项
- android Settings之辅助功能
- Android 5.1 Settings添加通知震动,通知音乐的开关功能实现
- android自定义View之自定义EditText(添加删除功能)
- Android自定义View之自定义EditText(添加删除功能)
- android自定义View之自定义EditText(添加删除功能)
- iOS开发:使用Settings Bundle为程序添加自定义设置项
- android Settings添加多击事件
- android settings界面修改(添加等)
- 原生android中Settings模块添加步骤
- android 添加系统属性Settings.system
- Android 7.0 settings 总结
- spring AOP自定义注解方式实现日志管理
- 安装Apache的时候80端口被PID为4的系统进程所占用
- Pycharm(Python本文编辑器)破解方法
- 游戏测试怕踩坑?快来围观最佳实践!
- CodeForces
- Android 7.0 Settings 根目录添加自定义功能项
- jQuery中的事件与事件函数、事件处理
- 记一次排错经历-vivo手机标识问题
- Swift4.0 新特性----Swift标准库
- 深度学习—Xavier初始化方法
- LIB和DLL的区别与使用
- Python2.7+Opencv 人脸检测
- Python自学笔记
- 多线程编程学习三(线程间通信)