Como um aplicativo pode detectar que será desinstalado? [duplicado
Esta pergunta já tem uma resposta aqui:
possível detectar a desinstalação de aplicativos Androi 7 respostasExecute uma tarefa de desinstalação no android [duplicado] 4 respostasTodos sabemos que o aplicativo antivírus usual (na prática qualquer) antes da desinstalação costumava acionar uma caixa de diálogo simples como: "Você está desinstalando o aplicativo, tem certeza?" - "sim não"
im, eu sei que posso interceptar a intenção de exclusão de pacotes usando o filtro de intenção, como:
<activity
android:name=".UninstallIntentActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.DELETE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="package" />
</intent-filter>
</activity>
Mas o problema é simples: isso interceptaqualque excluir solicitações e, além disso, isso acionará a caixa de diálogo do seletor entre meu aplicativo e o instalador de estoque. Portanto, se o usuário selecionar o instalador de estoque - não poderei fazer nad
Meu objetivo não é impedir que o usuário desinstale o meu aplicativo, mas apenas reverter as alterações feitas pelo meu aplicativo.
Aprendendo com esses aplicativos antivírus, vejo que esse tipo de operação é possível, então ajude-me e explique como é possível?
Atualiza
Desde que existem alguns caras que não acreditam que seja real - eu me referiria aAvast Mobile Security:
Anti-Theft protege-se da desinstalação, disfarçando seus componentes com várias técnicas de autopreservaçã
Outro exemplo: Kaspersky Internet Security para Android - aqui está um procedimento especial para desinstalá-lo, que requer a inserção de código secret
e qualquer forma, significa que há uma maneira de interceptar o procedimento de desinstalação, a fim de impedir a desinstalação ou realizar algum trabalho de finalizaçã