|
|
1,当系统不在蓝牙的状态,那么:
插入linein发送android.intent.action.onkey.EXTAUD_STATE
:::
修改/media/doraemon/works/android/mtk/6572/QPlayer/eng/alps/mediatek/packages/apps/OOBE/src/com/mediatek/oobe/ExtAudioReceiver.java
添加定义:
public static final String ONKEY_EXTAUD =
"android.intent.action.onkey.EXTAUD_STATE";
如果蓝牙没有打开则发送该消息
private void setExtAudioEnable(int extAudioStatus){
EmGpio.setGpioOutput(135);
SharedPreferences sp = ctx.getSharedPreferences("SP", Activity.MODE_PRIVATE);
Editor editor = sp.edit();
boolean btSwitch=sp.getBoolean("btSwitch", false);
Intent intent = new Intent(Intent.ACTION_EXTAUD_EVENT);
intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING);
intent.putExtra(Intent.EXTRA_EXTAUD_STATE, extAudioStatus);
if(extAudioStatus==1){
editor.putBoolean("ExtAudStatus", true);
if(btSwitch){
Log.e("zcfdebug ExtAudioReceiver","we will send BTHW_STARTSTOP for extaudio in!");
Intent btStartStopIntent = new Intent(BTHW_STARTSTOP);
ctx.sendBroadcast(btStartStopIntent);
}else{
Log.e("zcfdebug ExtAudioReceiver","we will pull high 135 pin to turn on extaudio!");
ctx.sendBroadcast(intent); //发送外部linein插入的intent,给onetouch app接收
//注释掉下面的代码,如果是插入的话,我需要等待onetouch app停止播放以后,再切换linein的音频开关
//EmGpio.setGpioDataHigh(135);
}
}else{
Log.e("zcfdebug ExtAudioReceiver","here perform extAudPlugout action, set preference ExtAudStatus to false!");
ctx.sendBroadcast(intent); //发送外部linein拔出的intent,给onetouch app接收
EmGpio.setGpioDataLow(135);
editor.putBoolean("ExtAudStatus", false);
}
//for commit ExtAudStatus
editor.commit();
}
}
然后,等待onetouch:::
public class OnetouchstopplayReciver extends BroadcastReceiver {
//private boolean btState;
@Override
public void onReceive(Context mContext, Intent arg1) {
//TODO: add code here!
boolean ret = EmGpio.gpioInit();
Log.e("zcfdebug","we will change to linein for OneTouch has stopped play!");
changeToLinein();
}
private void changeToLinein(){
Log.e("zcfdebug","we will pull up GPIO 135!");
EmGpio.setGpioOutput(135);
EmGpio.setGpioDataHigh(135);
}
}
|
|