Android - 一段时间后自动开始 activity

Android - Auto starting an activity after some duration

我是 Android 的新手。

我将加速度计传感器数据合二为一 activity。我在检测到震动后停止了 SensorManager。现在我需要在 5 秒后自动重启 activity,SensorManager 已停止。可能吗?

或者是否可以从当前 activity 开始?

有人可以帮我解决这个问题吗?

提前致谢:)

I need to restart the activity automatically after 5 seconds, the sensorManager has stopped. Is it possible?

是的,可以使用 AlarmManager

停止 SensorManager 时,将 Activity 中的 PendingIntent 提供给 AlarmManager,需要延迟才能启动 Activity:

Intent intent = new Intent(context,MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context,0, intent, 
                              Intent.FLAG_ACTIVITY_NEW_TASK);
AlarmManager manager =(AlarmManager) getSystemService(Context.ALARM_SERVICE);  
manager.set(AlarmManager.RTC,System.currentTimeMillis() + 6000, pendingIntent);  

当你停止Sensor时,你可以在5秒后开始Activity通过使用Handler like

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
  @Override
  public void run() {
      startActivity(...);
  }
}, 5000);

SensorManager 停止时使用此代码。当 SensorManager 停止后,它将在 5 秒后重新启动 Activity。

new Handler().postDelayed(new Runnable() {

                @Override
                public void run() {

                    Intent intent = getIntent();
                    finish();
                    startActivity(intent);
                }
            }, 5000);

线程用于提供延迟。 当检测到传感器停止时添加以下代码。

 new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {

              //Start Activity here
            }
        },5000);