我是Android新手。我想在獲得許可後打開聯繫人。我的問題是在開始時,我需要點擊拖拽按鈕,一個用於獲取權限,另一個用於打開聯繫人。如何減少Android中的開放聯繫人的點擊數
有什麼辦法得到許可,而無需任何點擊2次後,立即打開聯繫人
我是Android新手。我想在獲得許可後打開聯繫人。我的問題是在開始時,我需要點擊拖拽按鈕,一個用於獲取權限,另一個用於打開聯繫人。如何減少Android中的開放聯繫人的點擊數
有什麼辦法得到許可,而無需任何點擊2次後,立即打開聯繫人
是的,你可以處理像按鈕單擊事件這個
1.ask許可請求的許可結果
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String permission = android.Manifest.permission.READ_CONTACTS;
if (ActivityCompat.checkSelfPermission(SearchCityClass.this, permission)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(SearchCityClass.this, new String[]
{permission}, PERMISSION_CODE);
} else {
isPermissionGranted(true);
}
}
});
2.手柄許可結果在onRequestPermissionsResult
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == PERMISSION_CODE) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
isPermissionGranted(true);
} else {
isPermissionGranted(false);
}
}
}
3.now像這樣
public void isPermissionGranted(boolean permission) {
if (!permission) {
// permission not granted
} else {
// add here your code beacuse permisiion is granted
}
當你試圖獲得許可,您調用一個函數,告訴你需要創建一個方法。 (只需要獲得許可的危險權限) 之後,當用戶接受或拒絕時,它來到onRequestPermissionsResult。
這個方法裏面你可以檢查你是否獲得了權限,做你的動作。
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
if (Manifest.permission.READ_CONTACTS) == PackageManager.PERMISSION_GRANTED) {
//do your action
}
希望能幫助你
你嘗試添加你的行動,你的onRequestPermissionsResult? – Ashkan
是的,方法是運行您的代碼,在那裏獲得授予權限的回調 –