2

我认为我的问题相当直截了当......我如何启动标准活动以从(同一应用程序的)活动中预览我的动态壁纸?

*编辑:在Logcat中...这是您启动我要使用的意图时的条目...

04-06 09:44:08.369: INFO/ActivityManager(17452): 开始: Intent { cmp=com.android.wallpaper.livepicker/.LiveWallpaperPreview (has extras) } 来自 pid 21944

4

2 回答 2

0

你的意思是这样的吗?

  1. 制作一个包含动态壁纸全屏的活动
  2. 使用以下命令打开该活动:

    Intent i = new Intent(this, [Activityname]);
    开始活动(一);

于 2011-04-05T06:55:10.240 回答
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();
于 2015-09-09T14:16:25.937 回答