Rumah > Java > javaTutorial > Bagaimana untuk Meminta Kebenaran Lokasi Masa Jalan dalam Android?

Bagaimana untuk Meminta Kebenaran Lokasi Masa Jalan dalam Android?

Susan Sarandon
Lepaskan: 2024-12-14 12:58:11
asal
460 orang telah melayarinya

How to Request Runtime Location Permissions in Android?

Cara Meminta Kebenaran Lokasi pada Masa Jalan

Dalam kod anda, anda menyemak kebenaran lokasi dengan betul dan mengendalikan kes di mana kebenaran tidak diberikan. Walau bagaimanapun, untuk benar-benar meminta kebenaran semasa runtime, anda perlu menggunakan ActivityCompat.requestPermissions.

Inilah MainActivity anda yang telah diperbetulkan:

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)

}
Salin selepas log masuk

Di mana PERMISSION_REQUEST_CODE ialah pemalar integer yang boleh anda tentukan untuk rujukan dengan mudah kebenaran itu permintaan.

Pertimbangan Tambahan

  • Pastikan anda menambah kebenaran lokasi pada fail AndroidManifest.xml:
<manifest ...>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>
Salin selepas log masuk
  • Jika anda menghadapi masalah ini dalam projek perpustakaan, pastikan anda mengisytiharkan kebenaran dalam perpustakaan Fail AndroidManifest.xml juga.

Atas ialah kandungan terperinci Bagaimana untuk Meminta Kebenaran Lokasi Masa Jalan dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan