我的位置管理器更新有问题。每次我退出活动或退出时,整个应用程序位置管理器都会不断更新位置。
我希望应用在显示屏关闭时不断更新位置,因此我使用了
@Override
protected void onPause() {
super.onPause();
if (this.isFinishing()) {
locationManager.removeUpdates(this);
}
}
我退出或退出应用程序退出活动后,即使在locationManager.removeUpdates(this);
方法萌芽中,onBackPressed()
也放了<%= link_to "CSV", url_for(:format => 'csv') %> |
<%= link_to "Excel", url_for(:format => 'xls') %>
,管理员仍在请求更新。
答案 0 :(得分:0)
参考Understanding of isFinishing()
当用户切换到另一个应用程序时,您的应用程序不一定被操作系统杀死,直到它需要释放资源。因此,当调用onPause()时,isFinishing()可能会返回<p:treeTable var="i" value="#{reportPlanningMtefBean.tree}">
<f:facet name="header">columnGroup fine in tree</f:facet>
<p:columnGroup type="header">
<p:row>
<ui:repeat var="c" value="#{bean.columns}">
<p:column colspan="1" headerText="#{c.name}"/>
</ui:repeat>
</p:row>
</p:columnGroup>
<p:column><h:outputText value="#{i.value1}"/></p:column>
<p:column><h:outputText value="#{i.value2}"/></p:column>
</p:treeTable>
之后,当操作系统确实杀死了您的应用时,由于应用已经在后台,因此不会调用onPause()
使用true
来电。
答案 1 :(得分:0)
只需将“位置管理器”和“位置更新侦听器”设置为NULL即可:
@Override
protected void onPause() {
super.onPause();
if (this.isFinishing()) {
locationManager.removeUpdates(this);
locationManager=null;
}
}