我正在尝试启动默认的android壁纸选择器。我正在使用:
Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
startActivity(intent);
此代码有效但会打开应用选择器。我想直接打开“壁纸”。我的minSdkVersion设置为16。
答案 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
希望这有帮助。