我是Android新手。
我在一项活动中拥有加速计传感器数据。检测到震动后我停止了SensorManager。现在我需要在5秒后自动重启活动,SensorManager已经停止。有可能吗?
或者是否可以从同一个开始当前的活动?
有人可以帮我吗?
提前致谢:)
答案 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);