.批改android选择壁纸来源列表
在主界面按菜单键会弹出菜单,其中有一项是壁纸,当选择之后,出现一个选择器,出现一个列表,这个不是dialog ,你可以选择是一般的壁纸,还是比较炫的动态壁纸或者是从设备中寻找存在的照片设置为你的桌面壁纸。startWallpaper 方法,看一下源码
1.WallpaperChooser.java
这是 Launcher 中的一个类,主要是选择壁纸的操作,和 Launcher.java 在一个包下面。通过 Launcher 的 Manifest.xml 文件就可以看到答案
</activity>
<activity android:name="com.android.launcher2.WallpaperChooser" android:label="@string/pick_wallpaper" android:icon="@drawable/ic_launcher_wallpaper" android:screenOrientation="nosensor" android:finishOnCloseSystemDialogs="true">
<intent-filter>
<action android:name="android.intent.action.SET_WALLPAPER"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
2..LiveWallpaperListActivity.java
位于 /packages/wallpapers/LivePicker/src/com/android/wallpaper/livepicker 下面,主要是选择动态壁纸。其 Manifest.xml 文件:
<activity android:name="LiveWallpaperListActivity"
android:icon="@drawable/ic_launcher_live_wallpaper"
android:label="@string/live_wallpaper_picker_title"
android:theme="@android:style/Theme.NoTitleBar"
android:screenOrientation="nosensor">
<intent-filter>
<action android:name="android.service.wallpaper.LIVE_WALLPAPER_CHOOSER" />
<action android:name="android.intent.action.SET_WALLPAPER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
3.Photographs.java
在以前的版本中,android 使用的是Gallery,现在改变为Gallery3D,位于/packages/apps/Gallery3D/src/com/cooliris/media,对应的 Manifest.xml 文件可自行查阅。
至此就明白了壁纸选择的原理