最新在对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. WordPress搭建教程---购买域名+购买VPS主机+域名DNS解析+网站环境+上传网站程序

    WordPress搭建教程 购买域名---NameSilo 购买VPS主机---Vultr 域名DNS解析 网站环境 上传网站程序 参考文章: 1. WordPress搭建教程 https://zhu ...

  2. WebApplicationInitializer初始化web应用,不需要web.xml

    web应用的上下文层次结构 很多时候加的切面不起作用,是因为加错地方了 1.直接初始化,上下文只有一个context import org.springframework.web.WebApplica ...

  3. Windows10+eclipse+hadoop2.7.1环境配置+wordcount-折腾笔记

    刚用Ambari搭建好Hadoop,就开始写Hello World! 一.背景 1.Hadoop版本 经查看为2.7.1           Shell   1 2 3 4 5 6 7 [root@T ...

  4. 29 对象&函数

    switch: 穿越: 没有判断结果的情况下执行下一个case的语句块,叫穿越 或者穿越: switch(s%10){ case 1: case 2: case 3: s++; break; defa ...

  5. 吴裕雄 python 神经网络——TensorFlow 图像处理函数

    import numpy as np import tensorflow as tf import matplotlib.pyplot as plt image_raw_data = tf.gfile ...

  6. html5 postMessage 消息传递问题

    <script type="text/javascript"> $.fn.extend({ addEvent: function (type, handle, bool ...

  7. Python 基础之文件操作与文件的相关函数

    一.文件操作 fp =open("文件名",mode="采用的模式",encoding="使用什么编码集")fp 这个变量接受到open的返 ...

  8. Lucene的初步了解和学习

    Lucene的学习一,什么是全文检索 1.数据的分类 1.结构化数据 格式固定,长度固定,数据类型固定. 例如:数据库中的数据: 2.非结构化数据 word文档,pdf文档,邮件,html,txt 格 ...

  9. sqlmap命令手册

    http://127.0.0.1/sqli-labs-master/Less-1/?id=1 当给sqlmap上面这么一个url的时候,它会自动: 1.判断可注入的参数 2.判断可以用那种SQL注入技 ...

  10. 在 ubuntu 中安装python虚拟环境

    直接看命令一路操作(注:python3 下): 1.安装虚拟环境: sudo pip3 install virtualenv 2.安装虚拟环境扩展管理工具: sudo pip3 install vir ...