我正在尝试启动默认的 Android 壁纸选择器。我正在使用:
Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
startActivity(intent);
此代码有效,但它会打开应用程序选择器。我想直接打开“壁纸”。我的 minSdkVersion 设置为 16。
最佳答案
“默认”您似乎指的是 Android 操作系统附带的壁纸应用程序,而不是设备可能拥有的其他壁纸应用程序。您可以通过在 Intent 中设置组件来强制 Android 启动特定 Activity。
Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
intent.setComponent(...);
startActivity(intent);
但是,这是一件有风险的事情。如果您在没有您指定的壁纸应用程序的设备上运行此代码,那么您将收到 ActivityNotFoundException。
您真的需要启动一款特定的壁纸应用程序吗? Android 的一个核心功能是,你说出你想做的事情,它就会找到应用程序来完成它。我不知道你的目标是什么,但另一个可能有用的函数是 PackageManager.resolveActivity。您可以使用它在代码中发现将针对特定 Intent 启动哪个应用程序。
http://developer.android.com/reference/android/content/pm/PackageManager.html
希望这有帮助。
关于android - 启动默认 Android 壁纸选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27697480/