2017-08-07 25 views
0

使用下面的意圖,我試圖讓call.But在牛軋設備撥號盤是不開放撥打電話我想用牛軋糖設備我也給權限,但仍然無法打開撥號盤

Intent intent = new Intent(Intent.ACTION_CALL); 
intent.setData(Uri.parse("tel:"+phone)); 
startActivity(intent);` 

下面是運行時間許可的代碼

if (Build.VERSION.SDK_INT >= 23){ 
     if (ContextCompat.checkSelfPermission(InsertManuallyActivity.this, 
       Manifest.permission.CALL_PHONE) 
       != PackageManager.PERMISSION_GRANTED) { 
      if (ActivityCompat.shouldShowRequestPermissionRationale(InsertManuallyActivity.this, 
        Manifest.permission.CALL_PHONE)) { 
      } else { 
       ActivityCompat.requestPermissions(InsertManuallyActivity.this, 
         new String[]{Manifest.permission.CALL_PHONE},PERMISSIONS_REQUEST); 
      } 
     }else{ 
      ActivityCompat.requestPermissions(InsertManuallyActivity.this, 
        new String[]{Manifest.permission.CALL_PHONE}, 
        PERMISSIONS_REQUEST); 
     } 
    }else { 
     Intent intent = new Intent(Intent.ACTION_CALL); 
     intent.setData(Uri.parse("tel:"+phone)); 
     startActivity(intent); 
    } 

這是我onRequestPermissionResult

@Override 
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 
    super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
    switch (requestCode) { 
     case PERMISSIONS_REQUEST_CALL: { 
      if (grantResults.length > 0 
        && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
       callPhone("911"); 
      } else { 

       Snackbar.make(llCall, "Please enable permission from setting", Snackbar.LENGTH_SHORT) 
         .setActionTextColor(getResources().getColor(android.R.color.holo_red_dark)).show(); 
      } 

      return; 
     } 
    } 
} 
+0

您是否在運行時處理了權限? – SripadRaj

+0

是的,我還添加運行時權限,但仍然面臨問題 –

+0

您可以發佈是運行時權限處理一部分的代碼嗎? – SripadRaj

回答

1

Intent intent = new Intent(Intent.ACTION_DIAL); intent.setData(Uri.parse("tel:"+phone)); startActivity(intent);

如果您使用此代碼,您可以獲得撥號鍵盤的值。所以我們不使用權限進行調用....