从活动开始动态壁纸服务

时间:2012-01-31 14:32:49

标签: android service android-service live-wallpaper android-activity

public class ShortCurActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final Button button = (Button)findViewById(R.id.b_start);
    if(button != null){
     button.setOnClickListener(new View.OnClickListener() {

        public void onClick(View paramView) {
            Intent i = new Intent(ShortCurActivity.this, ServiceWallpaper.class);
                     startService(i);
        }
     });
    }

}

我只是想知道我是否可以从活动开始动态壁纸服务。我试过使用Intent但它不起作用。有些设计师希望我为Live壁纸制作一个快捷方式,以便用户可以随时更改他们的动态壁纸:(

2 个答案:

答案 0 :(得分:3)

 if (Build.VERSION.SDK_INT > 15)
            {
                i.setAction(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
                String pkg = WallpaperService.class.getPackage().getName();
                String cls = WallpaperService.class.getCanonicalName();
                i.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, new ComponentName(pkg, cls));
            }
            else
            {
                i.setAction(WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER);
            }
            startActivityForResult(i, 0);``

答案 1 :(得分:0)

似乎没有任何方法可以以编程方式更改用户的lwp。