Как запустить действие «Предварительный просмотр/выбор обоев» для моих обоев из действия?

Я думаю, что мой вопрос довольно прост... как мне запустить стандартную активность для предварительного просмотра моих живых обоев из активности (того же приложения)?

* Редактировать: в Logcat... вот запись, когда вы запускаете намерение, которое я хочу использовать...

04-06 09:44:08.369: INFO/ActivityManager(17452): запуск: Intent { cmp=com.android.wallpaper.livepicker/.LiveWallpaperPreview (имеет дополнительные функции)} от pid 21944


person CatalystNZ    schedule 05.04.2011    source источник


Ответы (2)


Вы имеете в виду что-то вроде этого?

  1. Сделайте действие, которое поддерживает полноэкранный режим Live Wallpaper
  2. Откройте это действие, используя:

    Intent i = new Intent(this, [Activityname]);
    startActivity(i);

person Mark Mooibroek    schedule 05.04.2011
comment
Не совсем ... в Android есть действие по умолчанию для предварительного просмотра живых обоев. Я хочу использовать это действие/намерение для использования общего действия предварительного просмотра живых обоев на устройстве. Я предполагаю, что вам нужно передать намерение (как бы оно ни называлось) дополнительную информацию о живых обоях, которые вы хотите просмотреть. - person CatalystNZ; 06.04.2011
comment
Больше похоже на это: stackoverflow.com/questions/2749791/? - person Mark Mooibroek; 06.04.2011

Ха-ха-ха .. Этот ответ приходит немного позже. ;-) Но я не думаю, что на него ответили правильно, так что вот... Насколько я понимаю, вы хотите запустить средство выбора обоев. Есть два способа сделать это в зависимости от версии 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();
person Sean Novak    schedule 09.09.2015