> Java > java지도 시간 > Android에서 런타임 위치 권한을 요청하는 방법은 무엇입니까?

Android에서 런타임 위치 권한을 요청하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-14 12:58:11
원래의
458명이 탐색했습니다.

How to Request Runtime Location Permissions in Android?

런타임에 위치 권한을 요청하는 방법

코드에서 위치 권한을 올바르게 확인하고 권한이 없는 경우를 처리합니다. 부여된. 그러나 실제로 런타임 시 권한을 요청하려면 ActivityCompat.requestPermissions를 사용해야 합니다.

수정된 MainActivity는 다음과 같습니다.

public class MainActivity extends AppCompatActivity implements LocationListener {

    // ... (rest of your code)

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED ||
            ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, PERMISSION_REQUEST_CODE);
        } else {
            // Permissions already granted
            // ...
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if (requestCode == PERMISSION_REQUEST_CODE) {
            if (grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) {
                // Permissions granted
                // ...
            } else {
                // Permissions denied
                // ...
            }
        }
    }

    // ... (rest of your code)

}
로그인 후 복사

여기서 PERMISSION_REQUEST_CODE는 쉽게 참조할 수 있도록 정의할 수 있는 정수 상수입니다. 권한 요청입니다.

추가 고려 사항

  • AndroidManifest.xml 파일에 위치 권한을 추가해야 합니다.
<manifest ...>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>
로그인 후 복사
  • 라이브러리에서 이 문제가 발생하는 경우 프로젝트의 경우 라이브러리의 AndroidManifest.xml 파일에서도 권한을 선언해야 합니다.

위 내용은 Android에서 런타임 위치 권한을 요청하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿