lollipop-mstar-master/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiServiceImpl.java 中api setWifiApEnabled实现中
有以下语句
......
if (! mSettingsStore.handleWifiApToggled(enabled)) {
return;
} else {
Slog.d(TAG, "handleWifiApToggled " + enabled);
}
handleWifiApToggled的实现在WifiSettingsStore.java文件中如下:
synchronized boolean handleWifiApToggled(boolean wifiApEnabled) {
if (mAirplaneModeOn && !isAirplaneToggleable()) {
return false;
}
if (wifiApEnabled) {
if (mAirplaneModeOn) {
persistWifiApState(WIFI_ENABLED_AIRPLANE_OVERRIDE);
} else {
persistWifiApState(WIFI_AP_ENABLED);
}
} else {
persistWifiApState(WIFI_AP_DISABLED);
}
return true;
}
===》
private void persistWifiApState(int state) {
final ContentResolver cr

本文详细解析了Android系统服务中clearCallingIdentity和restoreCallingIdentity的作用,通过实例分析了这两个方法如何在权限检查和跨进程通信中确保正确处理调用者的身份。在处理如设置WiFi热点等敏感操作时,这些方法对于维持权限管理和AppOps策略的合规性至关重要。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



