我在latitude
中使用longitude
提取GPS
和application
。我正在使用GoogleApiClient
。我有一个Activity
名为“ HomeActivity ”,我在其上创建了一个标题,并FrameLayout
在fragments
上显示其他Activity
。我的标题上也有设置按钮。
现在出现问题:
在我的一个名为“ A片段”的片段中,我正在获取latitude
和longitude
并将其用于某些工作。在设置button
时,我会打开一个dialog
,它会立即获取当前的纬度和经度。但问题是当我使用“A片段”并打开Dialog
时,有时我的应用程序崩溃并抛出错误,即“已经管理了{0}的id {0}”。并且错误直接指向我的GoogleApiClient
代码。我做了几个小时的工作和研究,但无法解决问题。请帮忙。
从HomeActivity的标题上的设置按钮打开对话框的代码
Dialog
我们获取纬度和经度的对话框代码
// onClickListener on Setting button
case R.id.setting:
DialogSettings dc = new DialogSettings(HomeActivity.this, HomeActivity.this,"HomeActivity",HomeActivity.this);
dc.show();
“片段”的代码,也可以获取纬度和经度
public class DialogSettings extends Dialog implements View.OnClickListener, GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener,
LocationListener {
Context context;
private GoogleApiClient googleApiClient;
AppCompatActivity appCompatActivity;
public DialogSettings(Activity a, Context context, String currentActivity, AppCompatActivity appCompatActivity) {
super(a);
this.context = context;
this.currentActivity = currentActivity;
this.appCompatActivity = appCompatActivity;
}
// point out error on this code
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
setUpGClient();
}
@Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
googleApiClient.stopAutoManage((AppCompatActivity) context);
googleApiClient.disconnect();
}
// point out error on this code
private synchronized void setUpGClient() {
googleApiClient = new GoogleApiClient.Builder(context)
.enableAutoManage(((AppCompatActivity) context), 0, this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
googleApiClient.connect();
}
}
答案 0 :(得分:0)
只需更改 enableAutoManage(getActivity() ,0, this)
启用AutoManage(getActivity(),1, this)