설정 페이지로 이동하지 않고 장치에서 팝업을 사용하여 장치에서 위치를 활성화하려고합니다. 내가 스택 오버플로에 대한 여러 솔루션을 시도했지만 아무도 내 에뮬레이터 또는 장치 위치를 선회에 작동하지 않는 것.에뮬레이터 위치
OnRequest :
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull
String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){
permission. its an array becayse it can be multiple permissions
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0 , 0, locationListener);
}
}
}
홈페이지 :
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
Log.i("location",""+location.toString());
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
};
if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION} ,1);
}else{
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0 , 0, locationListener);
}
매니페스트 :
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
구축 Gradle을 :
내 위치 코드는 다음과 같다 메인 클래스에서
compile 'com.android.support:support-v4:25.0.0'
compile 'com.google.android.gms:play-services-maps:10.2.4'
compile 'com.google.android.gms:play-services-location:10.2.4'
안녕하세요,이 코드를 대체하려고했지만 위치가 내 코드에서 켜지지 않았습니다. 스튜디오와 에뮬레이터를 사용한다면 이것이 가능합니까? –
에뮬레이터에서 GPS를 통해 현재 위치를 가져올 수 없습니다. 장치에서 응용 프로그램을 실행하여 제대로 작동하는지 확인하십시오. –
아아 그래, 난 둘 다 여전히 같은 결과에 대한 프로그래밍 방식으로 켜려면 수없는 시도 했어 –