【发布时间】:2019-09-18 02:45:18
【问题描述】:
我是 Android 新手,我正在创建一个应用程序,用户将在该应用程序中接到来自号码的呼叫,然后开始播放 .mp3 文件,用户可以根据该号码从拨号盘单击任何号码我必须执行操作.
为此,我创建了一个 BroadcastReceiver,它将检查电话状态并在 TelephonyManager.CALL_STATE_OFFHOOK:我正在播放 mp3 剪辑。
现在我不知道如何对按下付费键做出反应。
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.view.KeyEvent;
import android.view.View;
import java.lang.reflect.Method;
import static android.content.Context.TELEPHONY_SERVICE;
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
PhoneStateChangeListener pscl = new PhoneStateChangeListener(context);
TelephonyManager tm = (TelephonyManager)context.getSystemService(TELEPHONY_SERVICE);
tm.listen(pscl, PhoneStateListener.LISTEN_CALL_STATE);
}
}
class PhoneStateChangeListener extends PhoneStateListener {
Context context;
boolean isCalling=false;
MediaPlayer mp=null;
PhoneStateChangeListener(Context context){
this.context=context;
}
@Override
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state,incomingNumber);
mp=MediaPlayer.create(context,R.raw.abc);
switch(state){
case TelephonyManager.CALL_STATE_OFFHOOK:
isCalling=true;
mp.start();
break;
}
}
}
【问题讨论】:
标签: android