android将短信存储在mmssms.db
中,其中uid和gid是无线电(1001)。如果应用程序希望读取应该调用短信内容提供商的短信。我的问题是哪个流程有MmsSmsProvider
?我不知道这个过程应该有很高的权限(root或无线电组)。我想这个过程可能是system_server
或com.android.phone
。因为system_server
在广播组中,而com.android.phone
的uid和gid是广播。
我阅读了MmsSmsProvider.java
包中的源代码com.android.providers.telephony
。我还在TelephonyProvider.apk
中找到/system/app
。但我仍然没有找到启动TelephonyProvider.apk
答案 0 :(得分:0)
由Android Manifest for TelephonyProvider定义:
http://androidxref.com/5.1.1_r6/xref/packages/providers/TelephonyProvider/AndroidManifest.xml
18 package="com.android.providers.telephony"
19 coreApp="true"
20 android:sharedUserId="android.uid.phone">
android.uid.phone被PackageManagerService中的规则视为RADIO_UID:
mSettings.addSharedUserLPw("android.uid.phone", RADIO_UID,
ApplicationInfo.FLAG_SYSTEM|ApplicationInfo.FLAG_PRIVILEGED);
该应用程序由系统在早期启动阶段启动,因为android.uid.phone与TelephonyStack相关联,对于任何无线电设备而言,它非常重要。