2011-06-24 1 views
4

ユーザーが電話をかけられるようにUIを表示せずに連絡先に電話をかける方法はありますか?だから私がボタンをクリックすると、私の電話で最後の呼び出しに行くときのように、連絡先番号がすぐにダイヤルされます。誰かをクリックすると、すぐに呼び出されます。UIを使用せずに電話する

私が今使っているコードは次のとおりです。

try { 
    Intent intent = new Intent(Intent.CALL_ACTION); 
    intent.setData(Uri.parse("tel:" + number)); 
    startActivity(intent); 
} catch (Exception e) { 
    Log.e("SampleApp", "Failed to invoke call", e); 
} 

答えて

4

がマニフェストに許可android.permission.CALL_PHONEを追加し、Intent.CALL_ACTIONからIntent.ACTION_CALL

+0

これは最初のものだったので、私はこの回答を受け入れますが、すべての3つの答えが正しいです。 ACTION_CALLは機能し、ACTION_DIALは機能しません。ありがとう! – erdomester

+0

アンドロイド7.0では動作しません。 –

+0

実行時に 'android.permission.CALL_PHONE'を要求しますか?何がうまくいかないの? –

1
private void call() {  
    try {  
     Intent callIntent = new Intent(Intent.ACTION_CALL);  
     callIntent.setData(Uri.parse("tel:123456789"));  
     startActivity(callIntent);  
    } catch (ActivityNotFoundException e)  {  
     Log.e("helloandroid dialing example", "Call failed", e);  
    } 

変更

<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> 
AndroidManifest.xmlを
2

投稿されたコードはうまくいかないはずです... CALL_ACTIONはありません。代わりにACTION_CALLを使用してください。

+0

私はそのようなsgを使用しています。ネットからコピーしたコードは間違っていましたが、今質問していません:)コードは私が使っていないので、私のコードを投稿できませんでした。うまくいきます。 – erdomester

+0

番号をダイヤルする必要があります。これはあなたの問題ではありません - "注:このインテントは緊急電話番号には使用できませんが、アプリケーションはACTION_DIALを使用して緊急電話番号にダイヤルできます。 – piotrpo

0
Intent intent = new Intent(Intent.CALL_ACTION); 

Intent intent = new Intent(Intent.ACTION_CALL); 

これは私の完全なコードである必要があります:

Intent intentcall = new Intent(); 
    intentcall.setAction(Intent.ACTION_CALL); 
    intentcall.setData(Uri.parse("tel:" + phoneNumber)); 
    startActivity(intentcall); 
関連する問題