android充电插入usb没提示音

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:39   1422   0

usb插入没有提示音,修改如下:文件位置\frameworks\base\services\core\java\com\android\server\notification\NotificationManagerService.java

private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();

            if (action.equals(Intent.ACTION_SCREEN_ON)) {
                // Keep track of screen on/off state, but do not turn off the notification light
                // until user passes through the lock screen or views the notification.
                mScreenOn = true;
                updateNotificationPulse();
            } else if (action.equals(Intent.ACTION_SCREEN_OFF)) {
                mScreenOn = false;
                updateNotificationPulse();
            } else if (action.equals(TelephonyManager.ACTION_PHONE_STATE_CHANGED)) {
                mInCall = TelephonyManager.EXTRA_STATE_OFFHOOK
                        .equals(intent.getStringExtra(TelephonyManager.EXTRA_STATE));
                updateNotificationPulse();
            } else if (action.equals(Intent.ACTION_USER_STOPPED)) {
                int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1);
                if (userHandle >= 0) {
                    cancelAllNotificationsInt(MY_UID, MY_PID, null, 0, 0, true, userHandle,
                            REASON_USER_STOPPED, null);
                }
            } else if (action.equals(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE)) {
                int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1);
                if (userHandle >= 0) {
                    cancelAllNotificationsInt(MY_UID, MY_PID, null, 0, 0, true, userHandle,
                            REASON_PROFILE_TURNED_OFF, null);
                }
            } else if (action.equals(Intent.ACTION_USER_PRESENT)) {
                // turn off LED when user passes through lock screen
                mNotificationLight.turnOff();
                if (mStatusBar != null) {
                    mStatusBar.notificationLightOff();
                }
            } else if (action.equals(Intent.ACTION_USER_SWITCHED)) {
                final int user = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL);
                // reload per-user settings
                mSettingsObserver.update(null);
                mUserProfiles.updateCache(context);
                // Refresh managed services
                mConditionProviders.onUserSwitched(user);
                mListeners.onUserSwitched(user);
                mRankerServices.onUserSwitched(user);
                mZenModeHelper.onUserSwitched(user);
            } else if (action.equals(Intent.ACTION_USER_ADDED)) {
                mUserProfiles.updateCache(context);
            } else if (action.equals(Intent.ACTION_USER_REMOVED)) {
                final int user = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL);
                mZenModeHelper.onUserRemoved(user);
            } else if (action.equals(Intent.ACTION_USER_UNLOCKED)) {
                final int user = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL);
                mConditionProviders.onUserUnlocked(user);
                mListeners.onUserUnlocked(user);
                mRankerServices.onUserUnlocked(user);
                mZenModeHelper.onUserUnlocked(user);
            }
            /// M: DM/PPL Lock @{
            else if (action.equals(OMADM_LAWMO_LOCK)) {
                mNotificationLight.turnOff();
                mDmLock = true;
            } else if (action.equals(OMADM_LAWMO_UNLOCK)) {
                mDmLock = false;
            } else if (action.equals(PPL_LOCK)) {
                mNotificationLight.turnOff();
                mPplLock = true;
            } else if (action.equals(PPL_UNLOCK)) {
                mPplLock = false;
            }else if(action.equals(Intent.ACTION_POWER_CONNECTED)){
    //wdh_add
    Log.e(TAG, "wdh_ACTION_POWER_CONNECTED");
      final boolean enabled = Settings.Global.getInt(getContext().getContentResolver(),
       Settings.Global.CHARGING_SOUNDS_ENABLED, 1) != 0;
     final String soundPath = Settings.Global.getString(getContext().getContentResolver(),
       Settings.Global.WIRELESS_CHARGING_STARTED_SOUND);
     if (enabled && soundPath != null) {
      final Uri soundUri = Uri.parse("file://" + soundPath);
      if (soundUri != null) {
       final Ringtone sfx = RingtoneManager.getRingtone(getContext(), soundUri);
       if (sfx != null) {
        sfx.setStreamType(AudioManager.STREAM_SYSTEM);
        sfx.play();
       }
      }
     }
   }
            /// DM/PPL Lock @}
        }
    };

添加这个充电广播Intent.ACTION_POWER_CONNECTED,接收,判断是否有充电提示音,有的话就播放声音文件。

记得添加 //wdh_add
filter.addAction(Intent.ACTION_POWER_CONNECTED);


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP