Приложение для Android без пользовательского интерфейса: как остановить мгновенную вспышку при каждом запуске приложения

#android

#Android

Вопрос:

Я хочу создать действие, которое просто отображает тост (или произносит сообщение), а затем завершает работу. Следуя советам в https://www.quora.com/Is-it-possible-to-create-an-Android-app-that-does-not-have-a-UI Я (используя Android Studio) создал пустое приложение, затем «безопасно удалил» XML-файл макета и удалил строку setContentView в MainActivity. Кажется, это работает нормально, за исключением того, что при каждом запуске приложения предыдущий экран (макет любого приложения, которое уже запущено) начинает уступать место новому пустому белому макету, а затем через долю секунды возвращается предыдущий экран. Эффект представляет собой мгновенную белую вспышку при каждом запуске приложения.

Как мне остановить появление белой вспышки?

Комментарии:

1. Какую тему вы используете?

2. developer.android.com/guide/topics/ui/look-and-feel/themes написано » Android Studio … применяет тему material design к вашему приложению по умолчанию «, поэтому я предполагаю, что ответ — «material design». Я просто создал новый проект с пустой активностью.

3. В вашем <activity> элементе в вашем манифесте добавьте android:theme="@android:style/Theme.Translucent.NoTitleBar" и посмотрите, поможет ли это. Обратите внимание, что у вас уже может быть android:theme атрибут, который это заменит.

4. Отлично. Спасибо. Это работает. Мне пришлось решить, что предоставленный вами код необходимо вставить в тег activity (если это правильная терминология) между <activity android:name=» . MainActivity» и закрытие>. Должен ли я отправить ответ с изложением измененного кода манифеста?

5. «Мне пришлось решить, что предоставленный вами код необходимо вставить в тег activity (если это правильная терминология) между <activity android:name=» . MainActivity» и закрытие>» — вот как работают атрибуты XML. «Должен ли я отправить ответ с изложением измененного кода манифеста?» — конечно!

Ответ №1:

Ответ (благодаря Commonsware) заключается в том, чтобы вставить android:theme="@android:style/Theme.Translucent.NoTitleBar" <activity> элемент в манифест. Весь измененный activity элемент гласит:

     <activity android:name=".MainActivity"
        android:theme="@android:style/Theme.Translucent.NoTitleBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>