Android 清除联系人应用程序的用户数据后,应用程序重新启动

Android 清除联系人应用程序的用户数据后,应用程序重新启动,android,android-contacts,Android,Android Contacts,我的应用程序使用标准android联系人,因此我在我的AndroidManifest.xml中拥有以下权限: <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 是否可以阻止此操作并更新我的应用程序的状态?AFAIK,如果您的应用程序包含联系人相关权限

我的应用程序使用标准android联系人,因此我在我的
AndroidManifest.xml
中拥有以下权限:

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />

是否可以阻止此操作并更新我的应用程序的状态?

AFAIK,如果您的应用程序包含联系人相关权限,则表示您的应用程序以某种方式与联系人应用程序关联,并且依赖于此

当用户清除联系人应用程序数据时,系统将重新启动整个联系人包(您可以在日志中看到)。这意味着所有具有联系人相关权限的应用程序都将重新启动

所以我不认为你能阻止这一切

04-05 15:39:21.161 I/InstalledAppDetails( 9019): Clearing user data for package : com.android.providers.contacts
04-05 15:39:21.181 I/Process (  252): Sending signal. PID: 8774 SIG: 9
04-05 15:39:21.181 I/Process (  252): Sending signal. PID: 8761 SIG: 9
04-05 15:39:21.181 I/Process (  252): Sending signal. PID: 8368 SIG: 9
04-05 15:39:21.181 I/ActivityManager(  252): Force stopping package com.android.providers.contacts uid=10017
04-05 15:39:21.181 I/ActivityManager(  252): Kill com.sonyericsson.android.socialphonebook (pid 8774): provider com.android.providers.contacts.SemcContactsProvider2 in dying process android.process.acore
04-05 15:39:21.181 I/ActivityManager(  252): Kill com.example.dialer (pid 8761): provider com.android.providers.contacts.SemcCallLogProvider in dying process android.process.acore
04-05 15:39:21.231 D/dalvikvm( 9019): GC_CONCURRENT freed 1572K, 52% free 3798K/7815K, external 4576K/5694K, paused 1ms+4ms
04-05 15:39:21.251 E/InputDispatcher(  252): channel '2b440330 com.example.dialer/com.example.dialer.Dialer (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
04-05 15:39:21.251 E/InputDispatcher(  252): channel '2b440330 com.example.dialer/com.example.dialer.Dialer (server)' ~ Channel is unrecoverably broken and will be disposed!
04-05 15:39:21.251 I/WindowManager(  252): WINDOW DIED Window{2b440330 com.example.dialer/com.example.dialer.Dialer paused=false}
04-05 15:39:21.261 I/ActivityManager(  252): Process com.example.dialer (pid 8761) has died.
04-05 15:39:21.261 W/ActivityManager(  252): Scheduling restart of crashed service com.example.dialer/.ContactsService in 5000ms
04-05 15:39:21.281 I/InstalledAppDetails( 9019): Cleared user data for package : com.android.providers.contacts