위치기반 서비스가 사용가능한지 어떻게 확인하나요?
조회수 1463회
안드로이드 앱을 개발하고 있는데요. GPS가 작동하는지 안하는지 어떻게 체크할수있는지 모르겠어요. 지금 true, false로 작동하는지 알수있는 메소드가 필요한데 뭐가있을까요? false일때 gps서비스를 사용 가능하게 만드는 다이얼로그를 띄우려고 하거든요.
1 답변
-
아래 코드처럼 하시면 위치기반 서비스와 네트워크가 현재 가능한지 아닌지 확인할수있습니다.
LocationManager lm = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE); boolean gps_enabled = false; boolean network_enabled = false; try { gps_enabled = lm.isProviderEnabled(LocationManager.GPS_PROVIDER); } catch(Exception ex) {} try { network_enabled = lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER); } catch(Exception ex) {} if(!gps_enabled && !network_enabled) { // 유저에게 알린다. AlertDialog.Builder dialog = new AlertDialog.Builder(context); dialog.setMessage(context.getResources().getString(R.string.gps_network_not_enabled)); dialog.setPositiveButton(context.getResources().getString(R.string.open_location_settings), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface paramDialogInterface, int paramInt) { // TODO Auto-generated method stub Intent myIntent = new Intent( Settings.ACTION_LOCATION_SOURCE_SETTINGS); context.startActivity(myIntent); //get gps } }); dialog.setNegativeButton(context.getString(R.string.Cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface paramDialogInterface, int paramInt) { // TODO Auto-generated method stub } }); dialog.show(); }
댓글 입력