2010-12-16 46 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})啓動的。所以你不能用你自己的替換它。