2011-04-05 288 views
0

我认为我的问题是相当直接的...我如何启动预览我的动态壁纸从一个活动(同一应用程序)的标准活动?如何从活动内启动我的Wallpaper的预览/选择壁纸活动?

*编辑:在logcat的......这里是当您启动我想使用的意图...项

9月4日至6日:44:08.369:信息/ ActivityManager(17452):首发:意图{cmp = com.android.wallpaper.livepicker/.LiveWallpaperPreview(has extras)}来自pid 21944

回答

0

你的意思是这样的吗?

  1. 请其保持动态壁纸全屏
  2. 打开该活动使用的活性:

    意图I =新意图(此,[Activityname]);
    startActivity(i);

+0

不是真的......在android中有一个预览动态壁纸的默认Activity。我想利用该Activity/Intent在设备上使用通用Live Wallpaper预览活动。我假设你需要通过意图(不管它叫什么)一些关于你想要预览的动态壁纸的额外信息。 – CatalystNZ 2011-04-05 21:45:39

+0

更多类似这样:http://stackoverflow.com/questions/2749791/creating-own-livewallpaperpreview? – 2011-04-06 05:30:56

0

哈哈哈..这个答案有点晚了。 ;-)但是,我认为它没有被正确回答,所以这里就是...我收集的是你想要启动壁纸选择器。有两种方法可以做到这一点,取决于哪个Android版本,你会看到下面。您只能在版本16之后指定您的壁纸。否则,启动选择器并且用户指定壁纸。

if (android.os.Build.VERSION.SDK_INT >= 16) 
    { 
     Intent intent = new Intent("android.service.wallpaper.CHANGE_LIVE_WALLPAPER"); 
     intent.putExtra("android.service.wallpaper.extra.LIVE_WALLPAPER_COMPONENT", new ComponentName(getApplicationContext().getPackageName(), (new StringBuilder(String.valueOf(getApplicationContext().getPackageName()))).append(".LiveWallpaper").toString())); 


     try 
     { 
      startActivity(intent); 
      finish(); 
      return; 
     } 
     catch (ActivityNotFoundException activitynotfoundexception) 
     { 
      activitynotfoundexception.printStackTrace(); 
     } 
     return; 
    } 
    Intent intent1 = new Intent(); 
    intent1.setAction("android.service.wallpaper.LIVE_WALLPAPER_CHOOSER"); 
    try 
    { 
     startActivity(intent1); 
    } 
    catch (ActivityNotFoundException activitynotfoundexception1) 
    { 
     activitynotfoundexception1.printStackTrace(); 
     Toast.makeText(getApplicationContext(), "Live Wallpapers not supported", 1).show(); 
    } 
    finish();