Фильтр намерений с Android: установка приоритетов - PullRequest
3 голосов
/ 25 декабря 2009

Я проверяю фильтр намерений android:priority="0" и фильтр намерений android:priority="20" на android.intent.category.HOME. Я перечисляю информацию ниже,

    <activity android:name=".TestHomeActivity"
              android:label="@string/app_name">
        <intent-filter android:priority="0">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

При завершении загрузки системы всегда появляется диалоговое окно (ResolveActiivty) для выбора предпочтительного действия для этого намерения ...

Может ли кто-нибудь помочь с этим? Это ошибка использования для android:priority?

Спасибо!

Ответы [ 4 ]

3 голосов
/ 08 июня 2011

android:priority используется только для намерений OrderedBroadcast, а не порядка разрешения для неупорядоченных передач. Пользователи выбирают действие по умолчанию для данного действия, поэтому появляется диалоговое окно. Итак, да, вы используете priority неправильно.

3 голосов
/ 30 декабря 2009

На самом деле я не видел, чтобы android:priority учитывалось, когда система разрешает намерения. Я просто попытался установить приоритет для фильтра намерений, который я использую, но система все равно выдала мне всплывающее диалоговое окно разрешения, независимо от того, какое значение я установил для приоритета фильтра намерений.

Полагаю, вам просто нужно выбрать занятие на домашнем экране, которое вы хотите использовать (т.е. ваше), и установить флажок "Использовать по умолчанию ...".

1 голос
/ 08 апреля 2010

Судя по вашему фрагменту, вы пытаетесь запустить свое приложение. Приоритет - это тот, который должен быть отдан родительскому компоненту при обработке намерений типа, описанного фильтром.

Предоставляет информацию о способности действия реагировать на намерение, которое соответствует фильтру, относительно других действий. Оно также контролирует порядок, в котором широковещательные приемники выполняются для получения широковещательных сообщений. Используйте этот атрибут только в том случае, если вам действительно необходимо навязать определенный порядок получения трансляций или вынудить Android предпочитать одно действие другим.

Значение должно быть целым числом, например "100". Чем выше цифры, тем выше приоритет.

0 голосов
/ 24 апреля 2018

// непривилегированные приложения никогда не могут определять приоритет> 0 (PKMS)

...