Android: как мне всегда запускать приложение с определенной активности? - PullRequest
2 голосов
/ 17 ноября 2010

У меня есть действие Alert, которое определяется в манифесте следующим образом:

        <activity android:name="Alert"
              android:label="@string/app_name"
              android:theme="@android:style/Theme.Dialog"
              android:launchMode="singleInstance"
              android:noHistory="true">
    </activity>

У меня также есть другое действие Config, которое является страницей настроек для виджета рабочего стола и определяется как

        <activity android:name=".Config"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

Активность Alert отображается, когда пользователь нажимает на виджет.Теперь моя проблема заключается в том, что после запуска приложения и возврата к главному экрану, когда я долго нажимаю клавишу возврата домой и выбираю приложение, отображается действие Alert.Есть ли способ предотвратить это и всегда начинать с действия Config?

1 Ответ

2 голосов
/ 17 ноября 2010

Чтобы проиллюстрировать эту проблему, вы должны понимать, как Android обрабатывает действия.Когда вы нажимаете кнопку «домой», ваш Alert считается все еще живым , но он находится в режиме pause.Таким образом, когда вы долго нажимаете, он переключается назад и просто resume ваш предыдущий верхний уровень активности, который в данном случае равен Alert.

Таким образом, вы можете в своем onPause событии оповещения сказать, чтобы Android прекратил действие вместо того, чтобы поставить его на паузу.

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