【发布时间】:2014-01-08 19:56:04
【问题描述】:
我是 android 编程新手。所以请帮助我.. 我正在开发一个应用程序,它可以持续监控当前位置。我希望他的应用程序在后台运行,即使用户转到另一个应用程序。当他返回我的应用程序时,他将能够停止位置更新。一切都是在我拨出电话之前工作正常。我无法在拨出电话后删除位置更新..
下面是我的代码..
tb_trackstartstop.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked)
{
trackflag=true;
tracklistener(HomeActivity.this);
}
else
{
if(trackflag)
trackmlocManager.removeUpdates(trackmlocListener);
trackflag=false;
Toast.makeText(HomeActivity.this, "Stopped", Toast.LENGTH_LONG).show();
}
}
我的 onpause 和 onresume 代码如下
@Override
protected void onPause()
{
super.onPause();
bundle.putBoolean("trackflagState", trackflag);
}
@Override
protected void onResume()
{
super.onResume();
trackflag=bundle.getBoolean("trackflagState",false);
}
【问题讨论】:
-
什么是
trackflag在拨出电话后您返回到您的应用程序? -
trackflag的@Darwind 值为 true -
你最终进入了
onCheckChangedListener的else部分吗? -
@Darwind 实际上我想要的是,如果
trackflag为真,onCheckChanged为假,那么我希望停止 locationlistener -
是的,我明白 - 这就是为什么问的原因 ;-)
trackmlocManager.removeUpdates(trackmlocListener);曾经打电话吗?
标签: android