2012-07-02 2 views
2

Какое разрешение мне нужно? Папка appDir.exists(), но не appDir.canRead().Как очистить кэш другого приложения в Android?

+0

Похоже, это будет проблемой безопасности. – Jake1164

+0

«ни одно приложение по умолчанию не имеет разрешения на выполнение каких-либо операций, которые могут неблагоприятно влиять на другие приложения», - говорит он «по умолчанию». –

+0

Может помочь: http://stackoverflow.com/questions/17313721/how-to-delete-other-applications-cache-from-our-android-app – Zohar

ответ

0

Я думаю, вам нужно определить, как проявляется общий идентификатор пользователя (android:sharedUserId="com.xxx.xxx"):

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.your.package" 
    android:sharedUserId="com.xxx.xxx" 
    android:versionCode="1" 
    android:versionName="1.0" > 

Однако вы не можете это сделать, если другое приложение является третье приложение участником. В этом случае вам нужен корневой телефон. Дайте мне знать, если это так.

+0

Спасибо за подсказку, однако мне нужно очистить кеш стороннего участника Программы. В Google Play доступно несколько приложений для очистки кеша, что означает, что это возможно. Все, что мне нужно, это ответ, как это делается. Нужен ли мне сертификат от продавцов или что-то в этом роде? –

+0

Если есть приложения в google play, это означает, что должен быть способ без необходимости использования корневого телефона. Я не знаю, как это сделать :( – Caner

+0

Btw, вы видели это: http://stackoverflow.com/a/9073473/448625 – Caner

0

Вы не можете, это было бы серьезным недостатком безопасности в Android, если одно приложение может очистить другое. Если вы участвуете в разработке другого приложения, которое вы пытаетесь очистить, лучше всего отправить Intent и попросить другое приложение выполнить это намерение и очистить свой собственный кеш, когда он его получит.

Смежные вопросы