проблема при создании фильтра намерений для запуска моего приложения - PullRequest
1 голос
/ 16 декабря 2010

Я хочу запустить собственное приложение настроек при входе в «Настройки 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>

По какой-то причине это не работает. Я что-то упускаю и не знаю что. Есть предложения?

Спасибо заранее!

Ответы [ 2 ]

0 голосов
/ 20 января 2011

На самом деле, приложение настроек запускается через имя определенного компонента (Intent {act = android.settings.SETTINGS flg = 0x10200000 cmp = com.android.settings / .Settings})Таким образом, вы не можете заменить его своим собственным.

0 голосов
/ 16 декабря 2010

Возможно, вы захотите попробовать изменить строку «android.settings.WIFI_SETTINGS» на что-то, что не начинается с «android» (потому что, если вы не платформенное приложение, вам может быть запрещено использовать android ' префикс). Попробуйте изменить его на com.foo.WIFI_SETTINGS, а затем запустите действие, используя com.foo.WIFI_SETTINGS, просто чтобы посмотреть, поможет ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...