美文网首页
JB2之后自行添加耳机图标后显示异常

JB2之后自行添加耳机图标后显示异常

作者: RTThread小师弟 | 来源:发表于2017-11-20 17:47 被阅读12次

[DESCRIPTION]

默认JB2(包含)之后的的code是不支持耳机图标显示的,如果自己加了图标在缓慢插入或是插入时限显示三段又显示四段最后图标消失请使用此方法

[SOLUTION]

对于您的问题请在复现问题时在全全插入耳机的状态下帮忙在adb shell 中输入cat

/sys/class/switch/h2w/state

1)如果这个值在发生问题时为0或2

请打开调试项给出一份问题复现的log,并提交eService

我们accdet.c中有一个宏DEBUG_THREAD请查看它是否为1,如果不是1请定义为1.

开机以后手机连接adb cd /sys/bus/platform/drivers/Accdet_Driver echo 1 >

dump_register echo 1 >start_debug,以上命令可以在本次开机期间每隔500ms在log中打

印一次与accdet寄存器所有相关的值,请在此时复现问题并告知问题的实际操作。提交eService时

一起上传

2)如果这个值是1

请更改以下文件并验证这样的修改是否能够修复该问题

请更改WireDACcessoryManager.java

(php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks\base\services\java\com\android\server)

private void setDeviceStateLocked(int heADSet,

int headsetState, int prevHeadsetState, String headsetName) {

if ((headsetState & headset) != (prevHeadsetState & headset)) {

int device;

int state;

if ((headsetState & headset) != 0) {

state = 1;

} else {

state = 0;

}

if (headset == BIT_HEADSET) {

device = AudioManager.DEVICE_OUT_WIRED_HEADSET;

} else if (headset == BIT_HEADSET_NO_MIC){

device = AudioManager.DEVICE_OUT_WIRED_HEADPHONE;

} else if (headset == BIT_USB_HEADSET_ANLG) {

device = AudioManager.DEVICE_OUT_ANLG_DOCK_HEADSET;

} else if (headset == BIT_USB_HEADSET_DGTL) {

device = AudioManager.DEVICE_OUT_DGTL_DOCK_HEADSET;

} else if (headset == BIT_HDMI_AUDIO) {

device = AudioManager.DEVICE_OUT_AUX_DIGITAL;

} else {

Slog.e(TAG, "setDeviceState() invalid headset type: "+headset);

return;

}

if (LOG)

Slog.v(TAG, "device "+headsetName+((state == 1) ? " connected" : "

disconnected"));

mAudioManager.setWiredDeviceConnectionState(device, state, headsetName);

//Add start

if(prevHeadsetState == BIT_HEADSET_NO_MIC && headsetState == BIT_HEADSET

&& state == 0) {

try {

Thread.sleep(100);

//

mAudioManager.setWiredDeviceConnectionState(AudioManager.DEVICE_OUT_WIRED_

HEADSET, 1, headsetName);

} catch (InterruptedException e) {

// Ingore

}

}

//Add End

illegal_state = getIllegalHeadset();

if(49 == illegal_state) {

mHandler.postDelayed(new Runnable(){

public void run(){

illegal_state = getIllegalHeadset();

if(49 == illegal_state){

Slog.d(TAG, "show illegal Headset msg+++++++++++++");

showheadsetToast();

illegal_state = 0;

}else{

Slog.d(TAG, "don't show illegal Headset msg+++++++++++++");

illegal_state = 0;

}

}

},1000);

//illegal_state = 0;

}

}

}

来源:一牛网论坛

相关文章

  • JB2之后自行添加耳机图标后显示异常

    [DESCRIPTION] 默认JB2(包含)之后的的code是不支持耳机图标显示的,如果自己加了图标在缓慢插入或...

  • JB2之后自行添加耳机图标后显示异常

    [DESCRIPTION] 默认JB2(包含)之后的的code是不支持耳机图标显示的,如果自己加了图标在缓慢插入或...

  • Win10应用图标异常修复

    Win10系统升级后出现部分APP(如:Adobe Reader等)在任务栏的显示图标异常,显示为一个图片图标或白...

  • UITabBar 图标显示异常

    今天项目的标签栏图标要换图片,按往常一样把普通状态下的图标和选中是的图标设置好,把图片拖进项目,然后运行了一下,傻...

  • 动态修改App显示图标

    我们可以在应用中集成多个图标,到特定节日显示特殊的图标,好比双11显示打折的图标,双11后显示普通图标。 让我们来...

  • 解决VSCode图标显示异常

    VSCode是一款全平台开发的编辑器,它具有轻便的操作,简洁界面等优点,推出后就颇受好评.ubuntu下安装VSC...

  • 电脑桌面图标左下角有蓝色问号怎么解决

    打开自己的[电脑系统]后,发现桌面上的图标显示异常,在左下角出现了一个带问号的蓝色图标。按照下面的步骤即可解决问题...

  • iOS开发中动态更换应用图标

    需求: 在应用上线之后,应用图标可以根据需要发生变化。如:晴天的时候图标显示一个晴天的图标,下雨天的时候图标显示一...

  • iOS企业签名掉签

    一.企业签名掉签后客户端的情况 首先在掉签之后,新用户会无法下载,在下载之后,APP只显示名称,而不显示正常的图标...

  • iOS企业签名掉签注意事项

    企业签名掉签后的用户端的情形 首先在掉签之后,新用户会无法下载,在下载之后,APP只显示名称,而不显示正常的图标,...

网友评论

      本文标题:JB2之后自行添加耳机图标后显示异常

      本文链接:https://www.haomeiwen.com/subject/bstbvxtx.html