我有一个应用程序,我检查用户是否在设备上启用了GPS和无线位置。如果没有启用,那么我使用startActivity启用它们。我的代码是:
if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
|| !locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.gps_not_found_title); // GPS not found
builder.setMessage(R.string.gps_not_found_message); // Want to enable?
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {
startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS));
}
});
builder.setNegativeButton("Cancel", null);
builder.create().show();
return;
}
上面的代码然后启动我的位置活动,以便用户启用GPS和无线位置。之后如果我按下后退按钮,它应该返回到我的应用程序活动,但它显示了android启动器。我还检查了日志的任何内存泄漏或任何其他问题,但它没有返回我的应用程序,但它们没有这样的错误。
请帮帮我。
提前致谢
答案 0 :(得分:0)
像这样使用。
builder.setNegativeButton(“取消”,新的DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
});
alertDialog.show();
按下后退键,
WebView wt;//i used and given example by using webview
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN){
switch(keyCode)
{
case KeyEvent.KEYCODE_BACK:
if(wt.canGoBack() == true){
wt.goBack();
}
else{
this.finish();
}
return true;
}
}
return super.onKeyDown(keyCode, event);
}
答案 1 :(得分:0)
我找到了问题的答案,我的清单文件中有android:noHistory="true"
用于活动。