, тогда не будет диалогового окна «Выполнить действие с помощью», таким образом, было установлено действие «по умолчанию».

ли способ обнаружить, что для телефона выбрано приложение по умолчанию, например:android.intent.action.SEND ?

Есть ли способ очистить приложение по умолчанию с помощью кода?

Я хотел бы дать пользователю возможность удалить значение по умолчанию или, по крайней мере, показать экран, показывающий, как это сделать вручную, если я могу его обнаружить.

Ответы на вопрос(2)

PackageManager.queryIntentActivities чтобы получить все действия для намерения,PackageManager.resolveActivity чтобы решить.

Если решено, один находится в списке, возвращенномqueryIntentActivities, тогда не будет диалогового окна «Выполнить действие с помощью», таким образом, было установлено действие «по умолчанию».

Решение Вопроса

PackageManager, С его помощью вы можете определить, как намерение будет обрабатываться с помощью resolActivity (намерения). Похоже, что метод очистки предпочтений (clearPackagePreferredActivities) работает только для вашего собственного пакета.

 user43220913 янв. 2011 г., 18:21
Похоже, вы на правильном пути, но там много чего есть. Я должен исследовать это, когда вернусь домой. Благодарю.
 beetstra06 июл. 2011 г., 17:01
@ user432209, я думаю, ты можешь использоватьresolveActivity(intent, MATCH_DEFAULT_ONLY) чтобы избежать сравнения строк.
 moonlightdock04 апр. 2013 г., 07:58
@ Мыши потрясающий совет.
 user43220914 янв. 2011 г., 04:35
Ну, я смог обнаружить отсутствие активности по умолчанию с помощью этого метода. В основном я получил «com.android.internal.app.ResolverActivity», если не был выбран ни один по умолчанию. Так что это сработало, но я должен был выполнить сравнение по строке, что, я не уверен, является многообещающим методом, учитывая, что имя действия может измениться. Спасибо!
 Pointer Null26 окт. 2011 г., 09:34
Я использую двухэтапное определение значений по умолчанию: queryIntentActivities, чтобы получить все действия для Intent, resolActivity, чтобы получить разрешение. Если решено одно в списке, возвращаемом queryIntentActivities, тогда диалог «Завершить действие с помощью» не будет, таким образом, было установлено действие «по умолчанию».

Ваш ответ на вопрос