У меня есть активность, которая работает как ловушка для разных целей.В частности, VOICE_COMMAND и CALL_PRIVILEGED.(Требуется использовать их.)
<activity android:name=".MyActivity"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.VOICE_COMMAND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.CALL_PRIVILEGED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="tel" />
</intent-filter>
</activity>
Я прошу пользователя установить мое приложение в качестве действия по умолчанию для этих намерений, чтобы ему не приходилось выбирать его каждый раз.Это также требование.
Проблема в том, что в некоторых случаях я хочу, чтобы моя деятельность работала прозрачно, и передавал намерение в номеронабиратель или другое приложение.Это должно быть выбрано пользователем.Я достиг этого, используя getPackageManager().setComponentEnabledSetting(myCompName, isEnabled, PackageManager.DONT_KILL_APP)
в своей деятельности в определенных местах кода.
Есть ли более элегантный способ сделать это?Я попытался startNextMatchingActivity(getIntent())
, но это ничего не запускает (возвращает false).Означает ли это, что если есть действие по умолчанию, то все остальное игнорируется из намеренного разрешения?