[英]problem creating an intent-filter to launch my app
輸入“ Wi-Fi設置”(設置/無線設置)時,我想啟動自己的設置應用程序。 在android源代碼中檢查Settings應用程序的AndroidManifest.xml ...為該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>
由於某些原因,這不起作用。 我想念什么,我也不知道。 有什么建議么?
提前致謝!!
您可能想嘗試將字符串“ android.settings.WIFI_SETTINGS”更改為以“ android”開頭的內容(因為如果您是非平台應用,則可能不允許使用“ android”前綴) 。 嘗試將其更改為“ com.foo.WIFI_SETTINGS”,然后使用“ com.foo.WIFI_SETTINGS”啟動該活動,以查看是否有幫助。
實際上,設置應用是通過特定的組件名稱啟動的(Intent {act = android.settings.SETTINGS flg = 0x10200000 cmp = com.android.settings / .Settings})。 因此,您不能用自己的替換它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.