Вопрос по android – Как определить, установлено ли мое приложение по умолчанию пользователем?

3

Однажды мое приложение для домашнего экрана "X". установлено на устройстве & amp; когда пользователь нажимает кнопку «Домой», ему предлагаетсяDefault Action Android-диалог для выбора между Домом по умолчанию и Усилителем; мое приложение X

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

I can do the prompting with a ACTION_MAIN intent. Issue is when should i stop the prompting ?
How would i know that my X app is the default now ?

Ваш Ответ

1   ответ
7

<activity android:name=".MyActivity"
       android:label="@string/app_name">
    <!-- filter: This activity can be the default view action for a row in
         RawContacts -->
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <data android:mimeType="vnd.android.cursor.item/raw_contact" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

for anything

/**
 * Returns true if the supplied component name is the preferred activity
 * for any action.
 * @param component The ComponentName of your Activity, e.g. 
 *    Activity#getComponentName().
 */
boolean isDefault(ComponentName component) {
    ArrayList<ComponentName> components = new ArrayList<ComponentName>();
    ArrayList<IntentFilter> filters = new ArrayList<IntentFilter>();
    getPackageManager().getPreferredActivities(filters, components, null);
    return components.contains(component);
}    
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded rbot
Error: User Rate Limit Exceeded

Похожие вопросы