Возобновить деятельность самостоятельно - PullRequest
0 голосов
/ 26 июня 2011

Один вид деятельности. При нажатии кнопки «Домой» запускается метод OnPause, и через 5 секунд активность проявляется. Это то, что я хочу, но не смог. В чем моя ошибка?

package cem.examples.listviewActivity;

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Toast;

public class main extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    protected void onPause() {
        super.onPause();
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {

            @Override
            public void run() {
                Toast.makeText(main.this, "Timer RUN", Toast.LENGTH_SHORT).show();
                new Runnable() {

                    @Override
                    public void run() {
                        Toast.makeText(main.this, "5000 msec ok", Toast.LENGTH_SHORT).show();
                        Intent intt = new Intent(main.this, main.class);
                        intt.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        startActivity(intt);
                    }
                };
            }

        }, 5000);
    }
}

Ответы [ 2 ]

2 голосов
/ 26 июня 2011

Вы должны начать деятельность в потоке пользовательского интерфейса, а не в ЛЮБОМ потоке. Подробнее здесь: http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html

Возможно, вы захотите поискать postDelayed там ....

Однако вы, вероятно, не получите то, что хотите, вероятно - потому что onPause () вызывается во многих случаях (например, когда вы получаете под-активность или когда вы переходите к сообщению из панели уведомлений). Что именно вы хотите достичь?

1 голос
/ 26 июня 2011

Теперь в системе есть код, который предотвращает появление приложений сторонних производителей "вскоре" после нажатия пользователем клавиши home, потому что это был метод, который некоторые приложения использовали для злоупотребления системой.

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

...