時間を設定するとき、放送受信機を使用して、その特定の時間にアクティビティを開始する方法、またはボタンクリックアクション(トーストではない)などのアクションを実行する方法は??
質問する
890 次
2 に答える
0
ハンドラーが必要な場合があります。
Intent intent;
Handler handler;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
intent = new Intent(this, ChildActivity.class);
handler = new Handler();
setContentView(R.layout.activity_streaming_client_example);
}
特定の時間に実行するには、handler.postAtTimeを使用します
handler.postAtTime(new Runnable() {
@Override
public void run() {
MotherActivity.this.startActivityForResult(intent, 0);
}
}, millisecond_toStartfromUpTime);
数秒後に投稿する場合は、handler.postDelayedを使用してください
handler.postDelayed(new Runnable() {
@Override
public void run() {
MotherActivity.this.startActivityForResult(intent, 0);
}
}, millisecond_delayhere);
于 2012-08-10T18:49:10.950 に答える
0
そのためには、AlarmManager+Serviceが必要になる場合があります。ここで見ることができます
http://android-er.blogspot.com/2010/10/simple-example-of-alarm-service-using.html
Toastを表示するServiceクラス(リンク内)で、新しいインテントを作成し、そこにPSのstartActivity(intent)を作成します。開始する前に。この行も追加する必要があることが重要です
youintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
このような
public class AlarmService extends Service {
private Intent alarmIntent;
@Override
public void onCreate() {
alarmIntent = new Intent(this, AlarmActivity.class);
alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
//Toast.makeText(this, "MyAlarmService.onStart()", Toast.LENGTH_LONG)
// .show();
startActivity(alarmIntent);
}
// another implement method......
}
于 2012-08-15T04:47:27.893 に答える