Android P, OTG 接入显示设备充电

现象:Android P 版本使用OTG时,直接入OTG线未接入设备,下拉栏会显示

Android系统.正在通过USB为连接的设备充电

原因:Android P 新增的USB特性导致,控制的宏开关为CONFIG_DUAL_ROLE_USB_INTF,用于控制两用OTG USB。

 

解决:若只做OTG功能,关闭该宏开关,但是会造成正常PC接入设备USB选择栏为灰色不可选,只能到开发者选项中修改USB默认模式。否则只能上层修改显示信息。

 

上层修改如下,规避不显示:

frameworks\base\services\usb\java\com\android\server\usb\UsbDeviceManager.java

 

 protected void updateUsbNotification(boolean force) {

            if (mNotificationManager == null || !mUseUsbNotification

                    || ("0".equals(getSystemProperty("persist.charging.notify", "")))) {

                return;

            }

            ...

            int id = 0;

            int titleRes = 0;

            Resources r = mContext.getResources();

            CharSequence message = r.getText(

                    com.android.internal.R.string.usb_notification_message);

            if (mAudioAccessoryConnected && !mAudioAccessorySupported) {

               ...

            } else if (mConnected) {

                ...

//            } else if (mSourcePower) {

//修改为如下

            } else if (SourcePower && !"project_name".equals(SystemProperties.get("ro.product.device_group",""))) {

                Slog.d(TAG, "[ malata debug : ] ************** NOTE_USB_SUPPLYING");

                titleRes = com.android.internal.R.string.usb_supplying_notification_title;

                id = SystemMessage.NOTE_USB_SUPPLYING;

            } else if (mHostConnected && mSinkPower && mUsbCharging) {

                ...

            }

 

 

project_name为该项目名称。ro.product.device_group的赋值在

\device\malata\{project_name}\system.prop文件中ro.product.device_group=project_name一致

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值