Android:如何把一个应用添加到Settings列表中...
来源:互联网 发布:3dsmax2014软件许可证 编辑:程序博客网 时间:2024/05/01 10:50
1.在资源文件:packages/apps/Settings/res/xml/settings_headers.xml 中添加对应的应用列表
[Code]
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:Android="http://schemas.android.com/apk/res/android">
:
<!-- Language -->
<header
android:id="@+id/language_settings"
android:fragment="com.android.settings.inputmethod.InputMethodAndLanguageSettings"
android:icon="@drawable/ic_settings_language"
android:title="@string/language_settings" />
<!-- MyApp -->
<header
android:key="my_app"
android:id="@+id/myapp_settings"
android:icon="@drawable/ic_settings_myapp"
android:title="@string/myapp_settings_title" >
<intent
android:action="android.intent.action.MAIN"
android:targetPackage="com.test.my.app"
android:targetClass="com.test.my.app.MyAppActivity"/>
</header>
:
</preference-headers>
其中涉及到的icon ,title(string)添加对应的res/drawable-hdpi , res/values/Strings.xml
2.在Code为添加的列表注册事件:packages/apps/Settings/src/com/android/settings/Settings.Java
[Code]
:
private static final String MYAPP_PACKAGE = "com.test.my.app";
private static final String MYAPP_CLASS_NAME = "com.test.my.app.MyAppActivity";
:
private void updateHeaderList(List<Header> target) {
int i = 0;
while (i < target.size()) {
Header header = target.get(i);
// Ids are integers, so downcasting
int id = (int) header.id;
if (id == R.id.dock_settings) {
:
} else if (id == R.id.myapp_settings){
// If we don't have an MyApp APK, remove that option
Intent myappIntent = new Intent();
myappIntent.setClassName(MYAPP_PACKAGE, MYAPP_CLASS_NAME);
myappIntent.setAction(Intent.ACTION_MAIN);
PackageManager pm = getPackageManager();
List<ResolveInfo> myappApks = pm.queryIntentActivities(myappIntent, 0);
if(myappApks == null || myappApks.isEmpty()) {
target.remove(header);
}
}
:
}
3.修改完之后: make Settings
source build/envsetup.sh
lunch [选择 XXX ]
mmm package/apps/Settings
adb push out/target/product/XXX/system/app/Settings.apk system/app
...Test....Debug...T....D....T...
[End]
- Android:如何把一个应用添加到Settings列表中...
- Android4.1:如何把一个应用添加到Settings列表中...
- Android4.1:如何把一个应用添加到Settings列表中...
- 如何把自定义的字体添加到 iOS 应用中?
- 如何把一个窗体添加到容器控件中
- 如何把React Native嵌入到原生android应用中
- 如何把Feedly、InoReader添加到Firefox订阅列表中去
- 如何把fragment添加到activity中
- 如何把一个命令加入到某个用户sudo的列表中
- 如何把一个命令加入到某个用户sudo的列表中
- 如何把iOS 应用移植到Android?
- VS2010 TFS 如何把一个项目添加到源代码管理中及其他管理
- 如何把一个自己写的外部驱动模块编译添加到内核中 来自网络
- iOS App让自己的应用在其他应用中打开列表中显示、iOS把自己的应用添加到”活动“、将PDF文件Open In MyApp
- iOS App让自己的应用在其他应用中打开列表中显示、iOS把自己的应用添加到”活动“、将PDF文件Open In MyApp
- javascript操作两个选择列表(有两个列表,如何实现在一个列表通过双击和多选列表中内容添加到另一个列表. )
- .NET Framework 4.0 中如何把一个程序部署到全局应用缓存(GAC)
- .NET Framework 4.0 中如何把一个程序部署到全局应用缓存(GAC)
- Linux awk命令
- cocos-lua-Nodex
- cocos-lua-spriteex
- 【leetcode】113Path Sum II(DFS输出路径)
- HDU Divided Land(Java大数,二进制大数最大公约数)
- Android:如何把一个应用添加到Settings列表中...
- 用正则表达式提取单个页面文件里Email地址的简单实现
- <Android 基础(六)> ActionBar
- java实现gif动画效果(java显示动态图片)
- Java学习笔记(2)the Additional Part
- jvm调优
- iOS 中生成随机数的4种方法(rand、random、arc4random、arc4random_uniform)
- 关于VMware中VMware Tool的安装问题
- 1-1.第一个简单的angular程序