1

電話が着信したときにAndroidアプリを起動して着信電話番号を取得したいのですが、着信画面にボタンを配置できるようにし、その前に電話番号を取得できるようにします。誰でもいくつかの例や資料を参照できます。どうも

4

2 に答える 2

2

を設定できますbroadcastlistenerAndroidManifet.xmlリッスンするインテントを設定する必要がありますandroid.intent.action.PHONE_STATE 次に、 を使用してインテントから電話の状態を取得しintent.getExtraString(TelephonyManager.EXTRA_STATE) ます。それがOFFHOOKまたはRINGING電話がかかってきた場合、インテントから電話番号を取得できますintent.getExtraString(TelephonyManager.EXTRA_INCOMING_NUMBER)

于 2012-09-17T13:38:32.670 に答える
0

これにより、着信番号がトーストされ、ログに記録されます...

  public class CallReceiveD extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub


    Bundle extras = intent.getExtras();
    if (extras != null) {
      String state = extras.getString(TelephonyManager.EXTRA_STATE);
      Log.w("DEBUG", state);
      if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
        String phoneNumber = extras
            .getString(TelephonyManager.EXTRA_INCOMING_NUMBER);


       Toast toast= Toast.makeText(context,phoneNumber, Toast.LENGTH_LONG);toast.show();

        Log.w("DEBUG", phoneNumber);
      }
    }


}

      }

マニフェスト ファイルを忘れないでください < receiver android:name=".CallReceiveD"> < action android:name="android.intent.action.PHONE_STATE" />

        </intent-filter>
        </receiver>
于 2012-10-16T10:11:23.090 に答える