2010-12-16 44 views
0

我想在“Wi-Fi设置”(设置/无线设置)中输入时启动我自己的设置应用程序。检查设置应用程序的AndroidManifest.xml中在Android源代码对于WifiSettings活动创建的意图过滤器是这样的:创建意图过滤器以启动我的应用程序的问题

<activity android:name=".wifi.WifiSettings" 
       android:label="@string/wifi_settings" 
       android:configChanges="orientation|keyboardHidden" 
       android:clearTaskOnLaunch="true" 
       > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <action android:name="android.settings.WIFI_SETTINGS" /> 
       <action android:name="android.net.wifi.PICK_WIFI_NETWORK" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
       <category android:name="android.intent.category.VOICE_LAUNCH" /> 
       <category android:name="com.android.settings.SHORTCUT" /> 
      </intent-filter> 
</activity> 

对于自己的应用程序,我创建的意图过滤器是这样的:

<activity android:name=".MyWifiSettings" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <action android:name="android.settings.WIFI_SETTINGS" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

由于某种原因,这是行不通的。我错过了一些东西,我不知道是什么。有什么建议么?

感谢先进!

回答

0

您可能想尝试将字符串“android.settings.WIFI_SETTINGS”更改为不以“android”开头的内容(因为如果您是非平台应用程序,则可能不允许使用' android'前缀)。尝试将其更改为'com.foo.WIFI_SETTINGS',然后使用'com.foo.WIFI_SETTINGS'启动该活动以查看是否有帮助。

0

实际上,设置应用程序是通过特定的组件名称(Intent {act = android.settings.SETTINGS flg = 0x10200000 cmp = com.android.settings/.Settings})启动的。所以你不能用你自己的替换它。