Как отключить кнопку «Очистить данные» в «Сведениях о приложении» приложения «Управление» - PullRequest
33 голосов
/ 30 июня 2011

Я работаю на Android 2.2. На вкладке Приложения манифеста Android укажите «Разрешить очистку данных», чтобы установить значение «истина» или «ложь».Но после установки значения False мое приложение не может отключить кнопку «Очистить данные» в информации о приложении приложения «Управление».Я сталкиваюсь с этой проблемой, когда приложение содержит базу данных в Data / Data / packge-name / database /.

Я должен защитить свою базу данных приложений от пользователя.

Ответы [ 3 ]

121 голосов
/ 15 сентября 2011

Добавьте android:manageSpaceActivity=".ActivityOfMyChoice" к тегу application вашего манифеста, например:

    <application android:label="MyApp" android:icon="@drawable/icon" 
                 android:manageSpaceActivity=".ActivityOfMyChoice">

Тогда вместо "Clear Data" есть кнопка для "Manage Space", которая запускает ActivityOfMyChoice

Насколько я могу судить, это работает 100% времени.

43 голосов
/ 21 сентября 2012

AndroidManifest.xml

<application
    android:manageSpaceActivity="[packageName].ManageSpaceActivity"
    ...
    ...
>


  <activity
    android:name="[packageName].ManageSpaceActivity"
    android:screenOrientation="portrait" />

это вызовет мою активность, но:

public class ManageSpaceActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        finish();

    }// onCreate
}

и активность мертвая при создании, я люблю трюки:)

Теперь вы можете нажимать «Управление пространством» столько, сколько хотите!:)) - если вам нужно, вы можете сделать пользовательское удаление данных / кэша на ManageSpaceActivity, но вы можете сохранить свои данные, которые вам нужны.

Голосование за ответ на Jakar тоже, пожалуйста!

4 голосов
/ 30 июня 2011

Нет способа помешать пользователю очистить данные вашего приложения.Упомянутый вами вариант манифеста предназначен только для системных приложений, и вы, как разработчик, не можете устанавливать системные приложения.

Подробнее см. в этом обсуждении , в частности этом ответ от Diane Hackborn (инженер по Android Framework)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...