2015-10-18 94 views
1

是否可以在不使用manifest.xml中的任何權限的情況下撥打電話號碼?在android中使用intent撥打電話

我下面的代碼usign,但它要使用呼叫權限:

  Intent intent = new Intent(Intent.ACTION_DIAL); 
      intent.setData(Uri.parse("tel:" + "0" + getItem(pos).getMobile())); 
      context.startActivity(intent); 

回答

3

您可以打開撥號器,在它已經輸入一個電話號碼 -

Intent i = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + "0" + getItem(pos).getMobile())); 
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(i); 

但對於你可以直接從一個按鈕點擊某個電話,需要添加權限,因爲如果你這樣做,這意味着您的應用程序正在進行調用,因此需要來自android操作系統的權限。

2

其實,Intent.ACTION_DIALIntent.VIEW不需要任何權限,它只會打開經銷商的應用程序。另一方面,Intent.ACTION_CALL將直接調用,需要調用權限。

0

短信

 Intent smsIntent = new Intent(Intent.ACTION_VIEW); 
smsIntent.setType("vnd.android-dir/mms-sms"); 
smsIntent.putExtra("address", "12125551212"); 
smsIntent.putExtra("sms_body","Body of Message"); 
startActivity(smsIntent); 

呼叫

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

權限

<uses-permission android:name="android.permission.CALL_PHONE" /> 
<uses-permission android:name="android.permission.SEND_SMS"/>