最新在对Android 4.1做一些定制性的工作,刚好遇到了设置第三方动态壁纸为默认启动壁纸的问题,遂做笔记如下。

需要修改的文件为:

找到SourceCode/framework/base/core/res/res/values/config.xml中的:

  1. <string name="default_wallpaper_component">@null</string>

将其中的@null修改内容为:

  1. <string name="default_wallpaper_component" translatable="false">包名/动态壁纸服务名</string>

比如将默认壁纸更改为“青草晃动”的动态壁纸,则需要更改成如下代码:

  1. <string name="default_wallpaper_component" translatable="false">com.android.wallpaper/com.android.wallpaper.grass.GrassWallpaper</string>

com.android.wallpaper 在 AndroidManifest 文件中的 packagename,com.android.wallpaper.grass.GrassWallpaper 在 AndroidManifest 文件中的 service name需要注意的是:静态的图片壁纸和动态壁纸是两个不同的系统,加载的时候是完全两套机制,静态图片通过 launcher 里面的一个 xml 文件配置来管理系统默认静态壁纸,动态壁纸则是通过 intent 机制向系统搜寻所有匹配 Activity,所以,这里的默认值为 null,而不是那个系统默认静态壁纸的地址,系统是读 config.xml 文件的设置。若为 null 才继续查找静态壁纸配置内容。设置之后没有效果的话,恢复下出厂设置即可。另外将需要用到第三方动态壁纸,提前预置到sytem/app中;

PS:

1.这里一定要记住,包名用AndroidManifest.xml中的,后面的service名也一定要跟AndroidManifest.xml中的一致,否则,会报ClassNotFoundException;

2.另预置的动态壁纸APK名称不要包含空格,否则还是会报ClassNotFoundException的,空格可以用下划线代替;

1. The code is:

  1. private WallpaperManager mWallpaperManager = WallpaperManager.getInstance(this);
  2. Intent intent = new Intent(WallpaperService.SERVICE_INTERFACE);
  3. intent.setClassName("com.android.wallpaper",
  4. "com.android.wallpaper.galaxy.GalaxyWallpaper"); // you can set any live wall paper which you want
  5. try {
  6. mWallpaperManager.getIWallpaperManager().setWallpaperComponent(
  7. intent.getComponent());
  8. } catch (RemoteException e) {
  9. e.printStackTrace();
  10. // do nothing
  11. } catch (RuntimeException e) {
  12. e.printStackTrace();
  13. }

2. And you must add the following permissions in your manifest:

  1. <uses-permission android:name="android.permission.SET_WALLPAPER_COMPONENT" />
  2. <uses-permission android:name="android.permission.BIND_WALLPAPER" />
  3. <uses-permission android:name="android.permission.SET_WALLPAPER" />

3. You must push your apk to /system/app. If not, it can’t work.

Android 4.1 设置默认开机动态壁纸的更多相关文章

  1. 注意Android里TextView控件的一个小坑,用android:theme来设置样式时动态载入的layout会丢失该样式

    注意Android里TextView控件的一个小坑,用android:theme来设置样式时动态载入的layout会丢失该样式 这个坑,必须要注意呀, 比如在用ListView的时候,如果在List_ ...

  2. 关于MAC设置免费的动态壁纸

    首先大部分的动态壁纸都是收费的或者是已经固定的,其实这一款也是固定的 但是这个固定的是可以进行修改的 第一先在App Store下载 LiveDesktop Pro  这一款是免费的 然后下载后进行打 ...

  3. Android RadioGroup中设置默认选中RadioButton 后,选中两个的问题 解决方法

    项目中遇到多个RadioGroup中单选RadioButton ,设置了默认选中第一个 . 然后就 能选中两个RadioButton . . .. 我开始这样给设置默认选中一个的: for (int ...

  4. android 动态壁纸开发

    转:http://www.eoeandroid.com/thread-100389-1-1.html android 动态壁纸开发参考:http://www.ophonesdn.com/article ...

  5. 为你的Windows7设置动态壁纸

    From:http://www.cnblogs.com/killerlegend/p/3644014.html By KillerLegend DreamScene是Vista上的一个功能,可以让你设 ...

  6. Android控件设置半透明+EditText设置默认值+ 控件居中

    Android控件设置半透明 效果 代码: android:background="#50FFFFFF" 50表示50%透明 Android:EditText设置默认值 andro ...

  7. I.MX6 android 设置 默认 动态桌面

    /************************************************************************ * I.MX6 android 设置 默认 动态桌面 ...

  8. android浪漫樱花凋零动态壁纸应用源码

    android浪漫樱花凋零动态壁纸应用源码,是从那个安卓教程网拿过来的,本项目是一套基于安卓的樱花动态壁纸项目源码,安装以后桌面没有图标,但是可以在修改壁纸-动态壁纸中找到.我的分辨率是480×854 ...

  9. 【Android】用Cubism 2制作自己的Live2D——来制作动态壁纸吧!

    前言- Andorid SDK下载  baidu云 提取码:19jm 这次我们就来研究一下官方的例子之一的liveWallPaper,也就是开发Android的动态壁纸 先来看看这个例子运行的结果: ...

随机推荐

  1. Django框架之模板路径及静态文件路径配置

    内容: (1)模板文件路径的配置 (2)静态文件路径的配置 一.模板文件路径的配置 模板文件主要通过jinja2模板进行渲染html页面,实现动态页面. 步骤一:创建一个template的文件夹,用于 ...

  2. 【代码学习】PYTHON中的静态方法和类方法

    一.类方法 是类对象所拥有的方法,需要用修饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数(当然可以用其他名称的变量作为其第一个参数,但是大 ...

  3. StringUtils中isEmpty方法和isBlank方法的区别

    1.StringUtils.isEmpty没有忽略空格参数,是以是否为空和是否存在为判断依据. 示例: StringUtils.isEmpty("yyy") = false Str ...

  4. 洛谷P1073最优贸易(跑两遍dij)

    题目描述 CC C国有n n n个大城市和m mm 条道路,每条道路连接这 nnn个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 mmm 条道路中有一部分为单向通行的道路,一部分为 ...

  5. 洛谷P1060开心的金明(滚动数组优化)

    题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NNN元钱就行”. ...

  6. IO课堂测试

    一,用户需求 英语的26 个字母的频率在一本小说中是如何分布的?某类型文章中常出现的单词是什么?某作家最常用的词汇是什么?<哈利波特与魔法石> 中最常用的短语是什么,等等. (1)要求1: ...

  7. Codeforces #590 D 二维树状数组

    题意 给一个10^5之内的字符串(小写字母)时限2s 输入n,有n个操作  (n<10^5) 当操作是1的时候,输入位置x和改变的字母 当操作是2的时候,输入区间l和r,有多少不同的字母 思路 ...

  8. java 第三次课后作业

    1.java字段初始化的规律 public class gouzao { public static void main(String[] args) { test te=new test(); Sy ...

  9. 「luogu3402」【模板】可持久化并查集

    「luogu3402」[模板]可持久化并查集 传送门 我们可以用一个可持久化数组来存每个节点的父亲. 单点信息更新和查询就用主席树多花 一个 \(\log\) 的代价来搞. 然后考虑如何合并两个点. ...

  10. JavaScript - __proto__和prototype,原形

    参考 https://stackoverflow.com/questions/9959727/proto-vs-prototype-in-javascript 区别 构造函数中的prototype创建 ...