テキストビューでポップアップアラートを表示するポップアップシステムがあります。Popup クラス (以下を参照) は、別のクラスから Intent を介して呼び出されます。Popup クラスのコードは、Popup が onCreate メソッドで表示されるときに機能します (それを行うコードは、oncreate クラスのブロック コメントに示されています)。ただし、私の機能は、バックグラウンド アプリケーションを停止/一時停止しないようにポップアップを作成することです。トーストの機能をほとんど取得します。バックグラウンド アプリを中断せずにポップアップを表示します。そのため、AsynchTask を使用してこれを実装することにしましたが、実行時の例外が引き続き発生します。誰かが私を正しい道に導くことができますか? onPostExecute を実装する必要があると思いますが、これについてどうすればよいかわかりません。
public class Popups extends Activity {
private Dialog mDialog;
//static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.popups);
//IntentFilter filter = new IntentFilter(ACTION);
//this.registerReceiver(mReceivedSMSReceiver, filter);
/*
String message = getIntent().getStringExtra("message");
TextView messageView = (TextView) findViewById(R.id.message);
messageView.setText(message);
Handler handler = new Handler();
long delay = 5000;
handler.postDelayed(new Runnable() {
@Override
public void run() {
Popups.this.finish();
}
}, delay);
*/
PopupAsynch myPopup = new PopupAsynch();
myPopup.execute(1);
}
private class PopupAsynch extends AsyncTask<Integer, Void, Integer>
{
TextView messageView = (TextView) findViewById(R.id.message);
String message = getIntent().getStringExtra("message");
@Override
protected Integer doInBackground(Integer... params) {
Handler handler = new Handler();
long delay = 5000;
handler.postDelayed(new Runnable() {
@Override
public void run() {
Popups.this.finish();
}
}, delay);
messageView.setText(message);
return 1;
}
}
}