Android5.1 壁纸来源选项中有两个“壁纸”选项

Android5.1 壁纸来源选项中有两个“壁纸”选项
【问题】
系统语言为中文,打开 设置->显示->壁纸->查看显示
可以看到设置菜单中有两个壁纸选项显示

系统语言为英文,菜单中有两个"Wallpapers"选项

【log】
01-12 12:26:47.194: D/SubSettings(7598): Launching fragment com.android.settings.WallpaperTypeSettings

【debug】
找到WallpaperTypeSettings这个文件

点击“显示”->“壁纸”选项,弹出“选择壁纸来源”(Choose wallpaper from)页面
即进入下面这个文件
WallpaperTypeSettings.java (packages\apps\settings\src\com\android\settings)

WallpaperTypeSettings extends SettingsPreferenceFragment implements Indexable
此类继承自SettingsPreferenceFragment

/**
* Base class for Settings fragments, with some helper functions and dialog management.
*/
public class SettingsPreferenceFragment extends PreferenceFragment implements DialogCreatable

壁纸来源的设置选项是动态加载的。
WallpaperTypeSettings.java中有populateWallpaperTypes()方法

private void populateWallpaperTypes() {
// Search for activities that satisfy the ACTION_SET_WALLPAPER action
final Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
final PackageManager pm = getPackageManager();
final List<ResolveInfo> rList = pm.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);

final PreferenceScreen parent = getPreferenceScreen();
parent.setOrderingAsAdded(false);
// Add Preference items for each of the matching activities
for (ResolveInfo info : rList) {
Preference pref = new Preference(getActivity());
Intent prefIntent = new Intent(intent);
prefIntent.setComponent(new ComponentName(
info.activityInfo.packageName, info.activityInfo.name));
pref.setIntent(prefIntent);
CharSequence label = info.loadLabel(pm);
if (label == null) label = info.activityInfo.packageName;
pref.setTitle(label);
parent.addPreference(pref);
}
}

一共找到4个packages能够设置壁纸
com.android.launcher -- 壁纸选项
com.cyanogenmod.trebuchet -- 壁纸,包括照片与动态壁纸等等
com.android.gallery3d -- 图库
com.android.wallpaper.livepicker -- 动态壁纸

在这里我选择性地不加载com.android.launcher
修改后的代码:

//delete a wallpaper option
if (!info.activityInfo.packageName.equals("com.android.launcher")){
  parent.addPreference(pref);
}
//fix bug end

最后效果,选择壁纸来源界面只有3个选项

/**-------------------------------附录-------------------------------*/

Wallpaper_chooser.xml (packages\apps\launcher2\res\layout)
设置壁纸时的页面。上面是壁纸,下面是一个设置button。

时间: 2024-11-17 06:08:45

Android5.1 壁纸来源选项中有两个“壁纸”选项的相关文章

一串数字中有两个只出现一次的数字其余都是成对相同,求这两个数

当然如果这个问题是只有一个不同的数,其他数字成对相同,那么就是把所有数字异或就得出这个数了 这次是有两个只出现一次的数字,其他数字都成对相同 1)先把所有数都异或得到数t 2)算出t的二进制第一个1的位置flag 3)将所有数根据二进制flag位置是否为1分成两组b1[],b2[] (此时每组数字的个数一定是奇数) 4)将b1组异或得到ans1,将b2组异或得到ans2 #include<iostream> #include<stdio.h> using namespace std

select在数据库中有两种含义

select在数据库中有两种意思 (1)是赋值的意思(2)是输出,打印的意思我想你问的大概是赋值吧print和 select在数据库中都有打印输出的意思 用法是:select @aa=select* from tb1print @aa输出@aa的值

Java中有两种实现多线程的方式以及两种方式之间的区别

网上流传很广的是一个网上售票系统讲解.转发过来.已经不知道原文到底是出自哪里了. Java中有两种实现多线程的方式.一是直接继承Thread类,二是实现Runnable接口.那么这两种实现多线程的方式在应用上有什么区别呢? 为了回答这个问题,我们可以通过编写一段代码来进行分析.我们用代码来模拟铁路售票系统,实现通过四个售票点发售某日某次列车的100张车票,一个售票点用一个线程表示. 我们首先这样编写这个程序: Java代码    class ThreadTest extends Thread{

iOS - UITableView中有两种重用Cell的方法

UITableView中有两种重用Cell的方法: iOS代码 - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier; - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(6_0); 在iOS 6中dequeueReusableCellWith

Linux中有两种不同的文件链接类别。 符号链接(又称软链接) 硬链接

Linux中有两种不同的文件链接类别.符号链接(又称软链接)硬链接1.软链接文件的大小与源文件不同,软链接文件存储的是 软链接到源文件指向关系,所以很好理解他们的大小不同,可以理解为指针. 2.硬链接文件的索引节点编号,大小,最后修改时间完全相同,可以理解为 cp -p 了源文件,拷贝了一份源文件,且保留的源文件的属性 硬链接创建一个单独的文件,引用该硬链接文件的效果跟引用源文件一样:1.创建硬链接的方式方法一:cp -l 源文件 硬链接文件方法二:使用ln(取link之意),ln源文件 硬链接

Android - 缺少NDT选项和C/C++ Build选项 问题

缺少NDT选项和C/C++ Build选项 问题 本文地址: http://blog.csdn.net/caroline_wendy 时间: 2014.9.3 使用ADT(Android Developer Tools)是没有NDT选项, 使用起来比较麻烦, 建议使用标准Eclipse再装Android. 默认Android项目是没有C/C++ Build选项的, 需要右键点击项目在Android Tools里面点击"Add NativeSupport"就会出现.

在Ajax方式产生的浮动框中,点击选项包含某个关键字的选项

#!usr/bin/env python #-*- coding:utf-8 -*- """ @author: sleeping_cat @Contact : [email protected] """ #在Ajax方式产生的浮动框中,点击选项包含某个关键字的选项 #通过模拟键盘下箭头进行选择悬浮框选项 from selenium import webdriver from selenium.webdriver.common.keys impor

在窗体中有两个多选列表,用户可以从左侧列表中选择任意项,添加到右侧列表中。反之亦然。

<form name="myForm"> <table> <tr valign="top"> <td> <select name="leftList" multiple size="6" style="width:50px;"> <option>a</option> <option>b</option>

必应的两个壁纸接口,可用来获取海量的高质量壁纸和相关故事

必应在国内的名气不是很大,很多人不知道.必应是美国微软的搜索引擎,类似与百度.不过,有个地方很有趣,必应的首页背景图,每日一换,从不重复.都是团队精选的世界各地的风景.人文类的美图,配有相关文字描述.还是挺有意思的,不过好像只能保存近10多日的数据,超期就无法访问了. 首先,第一个接口:http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1 可以获得当日的必应壁纸无水印高清图片的路径以及版权等信息.具体返回格式如下: { &qu