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

时间:2012-04-10 12:44:59

标签: android android-contacts

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

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

唉,当我清除标准联系人应用程序的用户数据(设置 - &gt;应用程序 - &gt;管理应用程序 - &gt;全部 - &gt;联系人 - &gt;清除数据)时,我的应用程序com.example.dialer重新启动:< / p>

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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