Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用广播接收器在特定时间进入活动?_Android_Android Activity_Broadcastreceiver - Fatal编程技术网

Android 如何使用广播接收器在特定时间进入活动?

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);

当我设置时间时,如何在特定时间使用广播接收器启动活动或执行一些操作,如按钮单击操作(非toast),您可能需要处理程序

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+服务。看看我的新答案是的…答案是…它开始了一个新的活动…但我想在特定的时间在该活动中采取一些行动。。。