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

Bagaimana untuk Meminta Kebenaran Lokasi semasa Runtime dalam Android?

Barbara Streisand
Barbara Streisandasal
2024-12-08 04:17:10373semak imbas

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 ...
}

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!

Kenyataan:
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