按下后退按钮时,我的Android应用程序不存在

时间:2013-06-04 11:01:45

标签: android android-activity android-location

我有一个应用程序,我检查用户是否在设备上启用了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启动器。我还检查了日志的任何内存泄漏或任何其他问题,但它没有返回我的应用程序,但它们没有这样的错误。

请帮帮我。

提前致谢

2 个答案:

答案 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"用于活动。