最新在对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. Deeplearning.ai课程笔记-改善深层神经网络

    目录 一. 改善过拟合问题 Bias/Variance 正则化Regularization 1. L2 regularization 2. Dropout正则化 其他方法 1. 数据变形 2. Ear ...

  2. mysql中date与datetime的区别

    date类型可用于需要一个日期值而不需要时间部分时.MySQL 以 'YYYY-MM-DD' 格式检索与显示date值.支持的范围是 '1000-01-01' 到'9999-12-31'. datet ...

  3. cf 76 div2

    传送门 题意 t组样例 n个学生, x最多交换次数 a交换的第一个位置 b交换的第二个位置 最多是交换n-1次,不懂的话可以找个数列自己模拟一下: 然后其他的就是abs(a-b)+x;两个位置之间的距 ...

  4. 控制面保护(CPPr)

    除了CoPP外,管理员还可以通过使用控制面保护(Control Plane Protection,CPPr)机制抵御针对控制面的攻击,从本质上讲,CPPr属于CoPP的扩展,在CPPr中控制面接口被划 ...

  5. float元素上-margin的用法

    css标准,float元素上的负margin表示把下面的元素向对应方向移动,并且覆盖上一个元素(这里是指html中元素的声明顺序). 标准情况下我们用float 时候是这样的. -margin通俗点说 ...

  6. mysql查询最大值,最小值,平均值,总和

    select max(score) maxScore,min(score) minScore,avg(score) avgScore,sum(score) sumScore from exam_sco ...

  7. centos7 ip配置及ssh服务连接

    一.配置ip /etc/sysconfig/network-scripts/ifcfg-ens33 ifcfg-ens33 这个是配置网卡的配置文件,名字可能不一样,大概为:ifcfg-网卡名 TYP ...

  8. python脚本调用iftop 统计业务应用流量

    因公司服务器上部署应用较多,在有大并发访问.业务逻辑有问题的情况下反复互相调用或者有异常流量访问的时候,需要对业务应用进行故障定位,所以利用python调用iftop命令来获取应用进程流量,结合zab ...

  9. 0X01应用程序黑客技术

    前言 该文章主要是讲解了常见的应用程序黑客技术基本概念,包括消息钩取,API钩取,DLL注入,代码注入 天象独行 0X01:消息钩取 原理:在我们通过键盘,鼠标等输入信息过程中,Windows会通过钩 ...

  10. 2019年springmvc面试高频题(java)

    前言 2019即将过去,伴随我们即将迎来的又是新的一年,过完春节,马上又要迎来新的金三银四面试季.那么,作为程序猿的你,是否真的有所准备的呢,亦或是安于本职工作,继续做好手头上的事情. 当然,不论选择 ...