Rumah > Java > javaTutorial > Bagaimana untuk Meminta Kebenaran Lokasi semasa Runtime dalam Android?

Bagaimana untuk Meminta Kebenaran Lokasi semasa Runtime dalam Android?

Barbara Streisand
Lepaskan: 2024-12-08 04:17:10
asal
348 orang telah melayarinya

How to Request Location Permissions at Runtime in Android?

Meminta Kebenaran Lokasi pada Masa Jalan

Isu yang anda hadapi ialah anda perlu meminta kebenaran secara eksplisit untuk akses lokasi. Ikuti langkah ini untuk menyelesaikannya:

  1. Semak kebenaran: Gunakan ActivityCompat.checkSelfPermission() untuk menentukan sama ada apl mempunyai kebenaran yang diperlukan.
  2. Minta kebenaran: Jika kebenaran tidak diberikan, gunakan ActivityCompat.requestPermissions() untuk gesa pengguna untuk mendapatkan kebenaran.
  3. Kendalikan respons pengguna: Override onRequestPermissionsResult() untuk mengendalikan respons pengguna. Jika kebenaran diberikan, laksanakan tugas berkaitan lokasi.

Berikut ialah versi terkini kod anda yang menggabungkan logik permintaan kebenaran:

public class MainActivity extends AppCompatActivity implements LocationListener {

    private static final int REQUEST_LOCATION_PERMISSION = 10;

    // ... Other 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.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_LOCATION_PERMISSION);
            return;
        }

        // Perform location-related task if permission is granted
        // ...
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode) {
            case REQUEST_LOCATION_PERMISSION: {
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    // Permission granted, perform location-related task
                    // ...
                } else {
                    // Permission denied
                }
            }
        }
    }

    // ... Other methods ...
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Meminta Kebenaran Lokasi semasa Runtime 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