在Android中,您可以在運(yùn)行時(shí)動(dòng)態(tài)請(qǐng)求權(quán)限。以下是實(shí)現(xiàn)的步驟:
<uses-permission android:name="android.permission.CAMERA" />
ContextCompat.checkSelfPermission()
方法來(lái)檢查權(quán)限。例如,檢查相機(jī)權(quán)限的代碼如下:if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
// 如果應(yīng)用程序沒(méi)有相機(jī)權(quán)限,則請(qǐng)求權(quán)限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, REQUEST_CAMERA_PERMISSION);
}
當(dāng)用戶啟動(dòng)應(yīng)用程序并且沒(méi)有所需的權(quán)限時(shí),上面的代碼將顯示權(quán)限請(qǐng)求對(duì)話框。用戶可以允許或拒絕權(quán)限。
在您的Activity或Fragment中,實(shí)現(xiàn)onRequestPermissionsResult()
方法來(lái)處理用戶對(duì)權(quán)限請(qǐng)求的響應(yīng)。例如:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == REQUEST_CAMERA_PERMISSION) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用戶已授予相機(jī)權(quán)限
} else {
// 用戶拒絕了相機(jī)權(quán)限
}
}
}
通過(guò)這些步驟,您可以在Android應(yīng)用程序中動(dòng)態(tài)請(qǐng)求權(quán)限。