Остановите активность перед отображением в Android в виджете приложения - PullRequest
0 голосов
/ 24 октября 2019

Я использую настройки для своего виджета приложений. В настройках Activity есть следующий метод «Создать».

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    if (!isNetworkAvailable(this)) {
        Toast.makeText(this.getApplicationContext(),"You're offline. Turn Internet on before", 
         Toast.LENGTH_LONG);
        setResult(RESULT_CANCELED);
        finish();
    }

    setContentView(R.layout.settings_activity);
...

Я бы хотел остановить действие еще до того, как что-либо отобразится, но поставить isNetworkAvailable(this) до того, как SetContentView не будет работать. Активность мерцает некоторое время, а затем останавливается. Я хотел бы выполнить эту проверку до того, как виджет приложения выполнит «Намерение» и до того, как действие даже появится (отобразится), но из-за архитектуры виджета приложения я не вижу быстрого способа сделать это.

1 Ответ

0 голосов
/ 24 октября 2019

Попробуйте установить тему своего приложения на

android:Theme.Translucent.NoTitleBar.Fullscreen

и использовать

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    if (!isNetworkAvailable(this)) {
        Toast.makeText(this.getApplicationContext(), "You're offline. Turn Internet on before",
                Toast.LENGTH_LONG);
        setResult(RESULT_CANCELED);
        finish();
        return;
    }

    setTheme(R.style.your_theme)
    setContentView(R.layout.settings_activity);

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