1

我希望我的 android 应用程序在电话接听电话时启动并获取来电号码,我能够在来电屏幕上放置按钮,在此之前能够拨打电话号码,它会对我有很大帮助,任何人都可以向我推荐一些示例或材料。谢谢

4

2 回答 2

2

你可以broadcastlistener在你的AndroidManifet.xml你必须设置你的意图来监听android.intent.action.PHONE_STATE 然后你从意图中获取电话状态intent.getExtraString(TelephonyManager.EXTRA_STATE) 。如果是OFFHOOKRINGING之后有电话打进来,您可以从意图中获取电话号码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 回答