【问题标题】:Start default Android wallpaper chooser启动默认的 Android 壁纸选择器
【发布时间】:2014-12-29 23:23:56
【问题描述】:

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

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

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

【问题讨论】:

    标签: android android-intent wallpaper start-activity


    【解决方案1】:

    “默认”似乎是指 Android 操作系统附带的壁纸应用,而不是设备可能拥有的其他壁纸应用。您可以通过在 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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多