簡體   English   中英

創建意圖過濾器以啟動我的應用程序時出現問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM