Android - 在一段时间后自动启动活动

时间:2017-01-06 06:06:58

标签: android android-intent android-activity accelerometer autostart

我是Android新手。

我在一项活动中拥有加速计传感器数据。检测到震动后我停止了SensorManager。现在我需要在5秒后自动重启活动,SensorManager已经停止。有可能吗?

或者是否可以从同一个开始当前的活动?

有人可以帮我吗?

提前致谢:)

4 个答案:

答案 0 :(得分:3)

  

我需要在5秒后自动重启活动   sensorManager已停止。有可能吗?

是的,可以使用AlarmManager

停止SensorManager PendingIntent Activity AlarmManager 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); StringBuilder st = new StringBuilder() st = st.ToString(26,182); --- first parameter use for start position and second use for length. if(st.Contains("search text")) { } 所需的延迟以启动活动:

 func gestureTap(sender : UIGestureRecognizer){        
   if sender.state == .began {
       if collectionView.contentOffset.y == CGFloat(44) {

       } else {
         return
       }
    }
}

答案 1 :(得分:2)

当您停止Sensor时,您可以使用Activity之后的5秒后启动Handler

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

答案 2 :(得分:2)

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

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

                @Override
                public void run() {

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

答案 3 :(得分:2)

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

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

              //Start Activity here
            }
        },5000);
相关问题