2014-12-29 6 views
1

Я пытаюсь начать выбор обои для Android по умолчанию. Я использую:Запуск по умолчанию Android wallpaper chooser

Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER); 
    startActivity(intent); 

Этот код работает, но он открывает приложение для выбора. Я хочу открыть «Обои» напрямую. Моя настройка minSdkVersion установлена ​​на 16.

ответ

0

По умолчанию вы, похоже, имеете в виду приложение для обоев, которое поставляется с ОС Android, а не другие приложения для обоев, которые могут иметь устройство. Вы можете заставить Android запустить определенную деятельность, установив компонент в намерении.

Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER); 
intent.setComponent(...); 
startActivity(intent); 

Однако это опасная вещь. Если вы запустите этот код на устройстве, у которого нет приложения для обоев, которое вы указали, вы получите ActivityNotFoundException.

Вам действительно нужно запустить одно приложение для обоев? Главной особенностью Android является то, что вы говорите, что хотите, и находит приложение для этого. Я не знаю, какова ваша цель, но другая функция, которая может быть полезна, - PackageManager.resolveActivity. Вы можете использовать его, чтобы обнаружить в коде, какое приложение будет запущено для определенного намерения.

http://developer.android.com/reference/android/content/pm/PackageManager.html

Надеется, что это помогает.

Смежные вопросы