显示当GPS位置不可用时,是否显示此对话框

时间:2015-05-18 15:39:07

标签: android performance gps

olacabs dialog

当我的GPS位置不可用时,会出现此对话框。在Android中我们无法从活动中改变GPS状态,但通过此对话框我们可以从活动本身改变它。我试过很多论坛,但没有得到任何答案。

有人可以帮助我吗?

谢谢

1 个答案:

答案 0 :(得分:0)

通常我会像下面一样继续:

//check if GPS is active - show dialog
LocationManager manager = (LocationManager) getSystemService( context.LOCATION_SERVICE );
if(!manager.isProviderEnabled( LocationManager.GPS_PROVIDER )){
                        AlertDialog.Builder alert = new AlertDialog.Builder(context);
                        alert.setTitle(TITLE_ACTIVE_GPS);
                        alert.setMessage(YOUR_MESSAGE);
                        alert.setPositiveButton("Back", new DialogInterface.OnClickListener() {

                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();}
                        });
                        alert.setNegativeButton("Go to Settings", new DialogInterface.OnClickListener() {

                            public void onClick(DialogInterface dialog, int which) {
                                Intent I = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                                startActivity(I);  
                            }
                        });
                        AlertDialog al_gps = alert.create();
                        al_gps.show();
                    }else{
                        //GPS enabled
                    }

点击Go to Settings,用户转到设备位置设置即可开启GPS

此对话框的主要功能是意图:android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS

您也可以使用自定义对话框,只需使用正确的意图。