我有一个活动,用位置监听器中的onLocationChanged中的代码结果更新显示。一切正常,但我想在一段时间后退出到另一个活动。
我尝试在菜单中插入相同的代码来切换位置监听器中的活动,但它不起作用。我收到了错误。
if (dTime < -30){
Intent target1 = new Intent(this, Waypoint2.class);
startActivity(target1);
}
有谁知道如何做到这一点。谷歌和stackoverflow的搜索出现了空白。
更新:
问题似乎是Jeet解决的问题和我离开位置经理中间任务的事实的组合。终点();声明将执行停止代码并将代码更改为此也有效,并且对于遇到此问题的任何人来说都更清楚。
if (dTime < -30){
//finish();
if(lm != null) {
lm.removeUpdates(ll);
}
ll = null;
lm = null;
Intent target = new Intent(Start2.this, Waypoint2.class);
startActivity(target);
}
// finish()之间的代码;和Intent是onStop部分中的内容。
答案 0 :(得分:0)
错误可能是,方法Intent(LocationListener,Class)未定义,因此您需要将其替换为:
Intent target1 = new Intent(context, Waypoint2.class);
其中context是Activity的Context,你可以通过显式传入Constructor获取Activity的Context,或者如果LocationListener在同一个文件中实现,则可以通过你的活动获得YourActivityName.this。