Android APK Com Bloqueio para Desinstalar

Galera estou Desenvolvendo um Aplicativo para Android 2.3.3 e gostaria de saber alguma técnica , manha ou código que não permita o usuário desinstalar o App.
Já vi isso em vários Apps com por exemplo o Cerberus(cerberusapp.com).

Por favor Galera me ajuda ai Preciso Muito disto.

Eu ficaria muito puto se instalasse um aplicativo que não pudesse ser desinstalado de forma alguma (parece até um rootkit). Pelo menos use uma senha mestre pra permitir a remoção.

Ah! Se o celular for rooteado, provavelmente não há nada que você possa fazer pra impedir a desinstalação do aplicativo.

Fiquei curioso pra saber o motivo…

Na verdade e exatamente isso eu preciso de algo que não de pra remover somente com login e senha e/ou pelo meu web-server ele permita.

Vou ser bem claro com você:

E o seguinte estou fazendo um sistema anti furto
porem não quero que o usuário possa remove-lo como bem intender senão com alguns clicks o ladrão pode se livrar do app.
e isso não e meu intuito.

Qual o diferencial da sua app ?

Pq se for para ser apenas mais um, deixe para soluções robustas que já existem, esta tarefa.

O diferencial e que ele apenas usa o imei do aparelho para verificar as informações.
OBS: Boone eu pensava que o fórum seria para se ter ajuda independente do que fosse tratado…
Mas obrigado pela sua opinião que não ajudou.

Quando te dão uma resposta, você pode usá-la para:

  1. Questionar a si mesmo:

“Estou mesmo no caminho certo ?”
“Faz sentido o que estou querendo fazer ?”

  1. Reforçar que sua direção está certa

Volto a dizer, se for para ser mais uma app, só vai fazer número, agora se tem um verdadeiro diferencial, torço pelo sucesso!
E se ela ficar boa e vc decidir colocá-la a venda, quem sabe eu não compre ?

O lance de usar o IMEI, não entendi direito, mas saiba que também é clonável, então se ele é fundamental para tua solução, esteja preparado para isto.

Adamis,

Você conseguiu fazer com que seu app não seja desinstalado?

Eu queria saber se tem alguma forma de deixar um app como se fosse nativo do S.O.

Mesmo se alguém resetar com configurações de fabrica o app voltasse instalado!

missão para os ninjas.

Para deixá-lo como nativo basta instalá-lo em /system/app. O problema é que, para fazer isso, o Android precisa estar rooteado, o que implica em ser possível desistalar o app.

Se o app tiver permissões de administrador também não poderá ser removido, mas é só retirar as permissões que a desinstalação pode ser feita. Em suma, repito o que disse acima: eu ficaria muito puto se instalasse um app que não permitisse a desinstalação.

Tem outro truque que pode ser feito: um intent filter pode capturar a desinstalação do app:

<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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" android:pathPattern="seu.pacote.do.app" />
</intent-filter>

O problema é que mesmo assim é possível remover o app indo pelo terminal e removendo o apk manualmente (mesmo sem root, caso não seja um app de sistema).

Como você pode ver, a menos que você tenha o controle do dispositivo (algo como um smartphone corporativo ou sendo o próprio fabricante, por exemplo) não poderá impedir o dono de fazer o que quiser. E isso sem levar em conta que o aparelho pode ser rooteado.