BluetoothManagerService(Context context) {
...
mQuietEnableExternal = false; //初始化为false
...
}
public void handleOnBootPhase() {
...
sendEnableMsg(mQuietEnableExternal,
BluetoothProtoEnums.ENABLE_DISABLE_REASON_SYSTEM_BOOT,
mContext.getPackageName());
...
}
private void sendEnableMsg(boolean quietMode, int reason, String packageName) {
mHandler.sendMessage(mHandler.obtainMessage(MESSAGE_ENABLE, quietMode ? 1 : 0, 0)); //MESSAGE_ENABLE的第一个参数的值为(false ? 1 : 0)的结果为0
addActiveLog(reason, packageName, true);
mLastEnabledTime = SystemClock.elapsedRealtime();
}
@Override
public void handleMessage(Message msg) {
case MESSAGE_ENABLE:
mQuietEnable = (msg.arg1 == 1); //值为false
if (mBluetooth == null) {
handleEnable(mQuietEnable);
} else {
...
}
break;
case MESSAGE_BLUETOOTH_SERVICE_CONNECTED: {
try {
if (!mQuietEnable) { //条件成立
if (!mBluetooth.enable()) {
Slog.e(TAG, "IBluetooth.enable() returned false");
}
} else {
if (!mBluetooth.enableNoAutoConnect()) {
Slog.e(TAG, "IBluetooth.enableNoAutoConnect() returned false");
}
}
} catch (RemoteException e) {
Slog.e(TAG, "Unable to call enable()", e);
}
}
}
系统开启时Bluetooth模块BluetoothManagerService.java中的mQuietEnable变量赋值过程
最新推荐文章于 2024-05-08 21:29:31 发布