android充电插入usb没提示音

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);


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25815655/article/details/78911922
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

android充电插入usb没提示音

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭