【问题标题】:WirelessSettings activity is not found on Android SDK 3.0在 Android SDK 3.0 上找不到 WirelessSettings 活动
【发布时间】:2011-11-04 12:46:02
【问题描述】:

我正在将应用程序移植到 SDK 3.0。 我已经修改了设置以使用 PreferenceActivity 中可用的新片段功能。

我现在的问题是我在 settings.xml 中的以下配置不再起作用:

    <PreferenceScreen
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:key="@string/mykey"
        android:summary="@string/musummary"
        android:title="@string/mytitle" >

        <intent
            android:action="android.intent.action.MAIN"
            android:targetClass="com.android.settings.WirelessSettings"
            android:targetPackage="com.android.settings" />
    </PreferenceScreen>

com.android.settings.WirelessSettings 未找到。你知道为什么吗?

我的第一个猜测是,现在该活动不再存在并被片段取代。 问题是我找不到如何调用这个片段。 你知道如何在我的应用程序中嵌入标准的 WirelessSettings 片段吗?

谢谢

【问题讨论】:

  • 我也试过:
  • 有了这个意图,我得到:android.content.ActivityNotFoundException: No Activity found to handle Intent {...
  • 我应该补充一点,我正在摩托罗拉 Xoom 上运行该应用程序。

标签: android settings fragment


【解决方案1】:

好的,我终于找到了正确的版本。这有效:

        <intent 
            android:action="android.settings.WIRELESS_SETTINGS"/>

【讨论】:

  • 所以动作是 android.provider.Settings.ACTION_WIRELESS_SETTINGS,它是一个值为 ="android.settings.WIRELESS_SETTINGS" 的字符串。我直接在 xml 中使用该值。也许不是最好的方式
【解决方案2】:

com.android.settings.WirelessSettings 未找到。你知道为什么吗?

他们要么选择重命名该类,要么使其不被导出。你一开始就不应该使用它——任何对 com.android 的引用都是一个非常糟糕的主意,因为它们不是 Android SDK 的一部分。

您知道如何在我的应用程序中嵌入标准 WirelessSettings 片段吗?

您不能将来自其他应用程序的片段嵌入到您自己的应用程序中。

我也尝试过:有了这个意图,我得到:android.content.ActivityNotFoundException: No Activity found to handle Intent {...

我可以告诉你,这适用于 XOOM:

startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));

您的操作字符串错误 - 将 settings.Settings 替换为 Settings。试试看是否有帮助。如果不是,那么在首选 XML 中使用 &lt;intent&gt; 可能有一些特殊之处——我从未使用过它。无论如何,Settings.ACTION_WIFI_SETTINGS 是引用设置的这个特定部分的正确方法。

【讨论】:

  • 我不认为“android.provider.settings.Settings.ACTION_WIFI_SE‌​TTINGS”是错误的:“android.provider.settings”是包“Settings”是类,ACTION_WIFI_SE‌​TTINGS要使用的常量。我也尝试在意图标签中明确指定包,但没有帮助
  • @user38: android.provider 是包。 Android 中没有 android.provider.settings 包。 developer.android.com/reference/android/provider/Settings.html
  • 我试过了: 正如我所说,它没有帮助
  • @user38:删除多余的settings.。删除android:targetPackage。只需使用&lt;intent android:action="android.provider.Settings.ACTION_WIFI_SE‌​TTINGS" /&gt;
  • 我会尝试,但我在 Eclipse 的帮助下以这种方式找到了 Const
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-13
  • 2017-02-10
  • 2017-07-30
  • 2019-07-27
  • 2011-02-01
  • 1970-01-01
相关资源
最近更新 更多