启动默认的Android壁纸选择器

时间:2014-12-29 23:23:57

标签: android android-intent wallpaper start-activity

我正在尝试启动默认的android壁纸选择器。我正在使用:

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

此代码有效但会打开应用选择器。我想直接打开“壁纸”。我的minSdkVersion设置为16。

1 个答案:

答案 0 :(得分:0)

"默认"你似乎是指Android OS附带的壁纸应用程序,而不是设备可能拥有的其他壁纸应用程序。您可以通过在intent中设置组件来强制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

希望这有帮助。