2011年12月24日土曜日

android:androidで発信した電話番号を取得する

android端末から発信した電話番号は、ブロードキャストで「android.intent.action.NEW_OUTGOING_CALL」を検知したときに取得できる。

電話発信を検知

  • 電話発信により、「android.intent.action.NEW_OUTGOING_CALL」がブロードキャストされる。
  • BroadcastReceiverクラスのonReceiveメソッドにてブロードキャストを検知する。
  • ブロードキャストされた情報から電話番号を取得する。

package net.kuttya.callreceivesample;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class CallReceiveSample extends BroadcastReceiver {

 @Override
 public void onReceive(Context context, Intent intent) {
  // 電話発信を検知
  String actionStr = intent.getAction();

  if(actionStr.equals("android.intent.action.NEW_OUTGOING_CALL")) {
   // 発信した電話番号を取得
   String phoneNumber = intent.getStringExtra("android.intent.extra.PHONE_NUMBER");

   Toast.makeText(context, phoneNumber + "に電話発信中", Toast.LENGTH_LONG).show();
  }
 }
}


  • AndroidManifest.xmlで電話発信へのアクセスを許可しておく。



    

    
        
            
                
            
        
    

    



こんな感じ。

にほんブログ村 IT技術ブログ Androidアプリ開発へ

0 件のコメント:

コメントを投稿