Android 如何使用广播接收器在特定时间进入活动?
当我设置时间时,如何在特定时间使用广播接收器启动活动或执行一些操作,如按钮单击操作(非toast),您可能需要处理程序Android 如何使用广播接收器在特定时间进入活动?,android,android-activity,broadcastreceiver,Android,Android Activity,Broadcastreceiver,当我设置时间时,如何在特定时间使用广播接收器启动活动或执行一些操作,如按钮单击操作(非toast),您可能需要处理程序 Intent intent; Handler handler; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); intent = new Intent(this, ChildActivity.class);
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.posttime
handler.postAtTime(new Runnable() {
@Override
public void run() {
MotherActivity.this.startActivityForResult(intent, 0);
}
}, millisecond_toStartfromUpTime);
如果要在几秒钟后发布,请使用handler.postdayed
handler.postDelayed(new Runnable() {
@Override
public void run() {
MotherActivity.this.startActivityForResult(intent, 0);
}
}, millisecond_delayhere);
您可能需要AlarmManager+服务来完成此操作。 你可以在这里看 在显示Toast的服务类(链接中)中, 只要在那里做出一些新的意图和星体触觉(意图) 开始前请注意。您还必须添加这一行,这一点很重要
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......
}
你的意思是如何在特定时间采取行动吗。在你们从广播中收到一些数据之后?实际上,从主要活动中,我想在特定的时间(如下午3:30)使用广播接收器做一个动作(而不是烤面包)。从主活动转到广播接收器类,使用挂起的意图。在广播接收器类中,我只能执行toast操作。我不能在该类中使用按钮…因为它不是活动,所以您应该使用AlarmManager+服务。看看我的新答案是的…答案是…它开始了一个新的活动…但我想在特定的时间在该活动中采取一些行动。。。