android.provider.Settings.Secure를 이용한 GPS On/Off 상태 체크
android.provider.Settings.Secure는 Application에서 system preference를 읽기전용으로 사용가능한 secure system settings이다.
- Android 2.2 ( API Level 8 )이상에서 지원
- Settings.Secure.isLocationProviderEnable() : Location Provider enable 체크를 위한 helper method.
[ Example ]
package com.example.myfirstapp;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.content.ContentResolver;
import android.location.LocationManager;
import android.provider.Settings;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView textGpsStatus;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
textGpsStatus = (TextView)findViewById(R.id.gpsTextView);
displayGpsStatus();
return true;
}
private void displayGpsStatus(){
ContentResolver contentResolver = getBaseContext().getContentResolver();
boolean gpsStatus = Settings.Secure.isLocationProviderEnabled(contentResolver, LocationManager.GPS_PROVIDER);
if(gpsStatus){
textGpsStatus.setText("GPS: ON");
}else{
textGpsStatus.setText("GPS: OFF");
}
}
}
2013년 6월 18일 화요일
Android GPS 위치정보 처리. - draft
Android GPS 위치정보 처리. - draft
1. GPS Type
Network 서버를 통한 GPS 위치 정보 이용유무에 따라 A-GPS 와 S-GPS 두가지로 구분됩니다.
( 아래 표는 http://atin.tistory.com/381 에서 참조 )
2. Android Location Manager
- Android 에서는 GPS 정보 이용을 위해 Android Location Manager 를 제공합니다.
This class provides access to the system location services. These services allow applications to obtain periodic updates of the device's geographical location, or to fire an application-specified
Intent
when the device enters the proximity of a given geographical location.- Location API 사용을 위한 Permission (
ACCESS_COARSE_LOCATION
or ACCESS_FINE_LOCATION)
Location API methods require the
ACCESS_COARSE_LOCATION
or ACCESS_FINE_LOCATION
permissions. )2.1 Location Manager Provider
Location Manager는 3가지 타입의 provider를 제공합니다.
- GPS Provider : 위성을 이용한 위치정보를 제공하며, 상황에 따라 위치정보 처리를 위한 시간이 소요될수 있습니다. ( requires permission
ACCESS_FINE_LOCATION
. )- Network Provider : Wi-Fi AP 또는 통신망 Network 정보를 이용한 위치정보를 제공합니다.
- Passive Provider : 실제 위치정보를 수신하지 않는 특별한 provider입니다. 위의 두 provider에 의해 제공되어지는 정보를 수동적으로 업데이트 하며, getProvider() API를 통해 업데이트 출처를 확인할 수 있습니다. ( requires permission : ACCESS_FINE_LOCATION)
계속....
피드 구독하기:
글 (Atom)