一个Activity窗口如果需要显示壁纸, 那么它必须满足以下两个条件:
1. 背景是半透明的, 例如, 它在AndroidManifest.xml文件中的android:theme属性设置为Theme.Translucent:
<activity android:name=".WallpaperActivity"
android:theme="@android:style/Theme.Translucent">
......
</activity>
2. 窗口属性中的WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER位设置为1:
public class WallpaperActivity extends Activity {
......
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER);
} .
.....
}