我想單擊菜單中的按鈕來撥打電話。 該動作有效,但不正確,因爲當我點擊按鈕開始一個空白頁面時,當我點擊返回按鈕時,通話開始!我沒有發現錯誤,請問您能幫助我嗎?ACTION_CALL無法正常工作
這裏是我的代碼:
/*Fare una telefonata*/
private void onCall() {
int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE);
if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(
this,
new String[]{Manifest.permission.CALL_PHONE},
123);
} else {
startActivity(new Intent(Intent.ACTION_CALL).setData(Uri.parse("tel:3314617839")));
}
}
/*Dopo il risulato della richiesta di permesso*/
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case 123:
if ((grantResults.length > 0) && (grantResults[0] == PackageManager.PERMISSION_GRANTED)) {
onCall();
} else {
Log.d("TAG", "Call Permission Not Granted");
}
break;
default:
break;
}
}
按鈕是:
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
int id=item.getItemId();
switch(id)
{
case R.id.ContConc:
onCall();
我對清單中的權限,實際上呼叫開始,但我覺得有一些多餘的,也許,我真的不知道!
With ACTION_DIAL根本不起作用:( –
@MariaNovellaMadia我編輯了我的答案,如果你想檢查 – JCDecary
真的很感謝你,我會盡快檢查! –