首頁 > 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板