私のアプリがアンドロイド携帯にインストールされるときに、そんなことをしたい。本体から電話からアンインストールすることはできません。また、誰かがアンインストールを試みると、ポップアップショーまたはアラートが表示されます。 方法はありますか?アンドロイドでアプリケーションのunistallを無効にしますか?
答えて
私が現在あなたがこれを達成できると思う唯一の方法は、2つのアプリケーションです。
- は、サービスとして動作し、アプリが
であるかどうかをチェックし、見つからない場合はインストールします。 - はよく私がBlessenmが言ったように、...他の方法を考えるOSを変更することができます..あなたは、あなたのユーザーが
[OK]を見てみたいアプリです..しかし、それはあなたが、ハードウェアの特定のビットをターゲットにしている想定します。
あなたはシステムをルートすることができるかもしれません。そうすれば管理者のアイデアへのアクセス権が得られるかもしれません。
理論的には、電話機を「ルート」し、システムパーティションにアプリケーションを追加して(ユーザーはシステムパーティションを変更できません)、電話機を再度アンインストールします。私はこれがすべてのモデルではうまくいくかどうかはわかりません。一部のデバイスは「根絶」できません。
あなたは電話を根っこにする方法を説明できますか?すべてのアンドロイドメーカーが許可していますか?製造元がこの機能を提供しているかどうかわからない場合 –
電話機の起動は、各デバイスの製造元にとって非常に特殊な手順です。私は、すべての異なる作り方をカバーするチュートリアルはないと思う。私は恐れている具体的な指示のためにgoogleする必要があります。ソニー・エリクソン(ソニー・モバイル・ア・デイ・デイ)は、彼ら自身の開発者フォーラムで非常に有益なコミュニティを持っています。 – dbm
ありがとうMr.dbm :)ありがとうございました。 –
Force Stop
とUninstall
機能を無効にするには、deviceAdminを有効にする必要があります。これは、企業/アプリポリシー管理を処理するDevice Admin API
によって処理されます。
これを行う方法? –
この機能を使用するには、Device Admin APIのサンプルコードを共有してください。 –
明示的に無効にすることは不可能です。ただし、これには回避策を使用できます。
//MasterService.java
public class MasterService extends Service{
private ThreadPoolExecutor executor;
private Runnable runnable = new Runnable(){
@Override
public void run(){}
};
public MasterService(){
executor = new ThreadPoolExecutor(1, 1, 1, TimeUnit.SECONDS,
new LinkedBlockingQueue<Runnable>());
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
executor.execute(runnable);
return super.onStartCommand(intent, flags, startId);
}
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public void onDestroy() {
super.onDestroy();
executor.shutdown();
}
};
は
startService(new Intent(this, MasterService.class));
でそれを起動し、エクスポートし、有効としてマニフェストにそれを宣言することを忘れないでください: 背景に永続的に実行されますあなたのアプリでサービスを作成します。
Androidはアプリをアンインストールするためにパッケージマネージャを実行する(ルート以外の携帯端末に)。 Runnable
では、パッケージマネージャがフォアグラウンドで実行されているかどうかを検出する必要があります。はい、ビュー使用して入力フォーカスを取る活動を開始した場合:あなたの活動で
//MasterService.java (inside runnable)
@Override
public void run(){
while(true) {
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
for (int i = 0; i < procInfos.size(); i++) {
//check if package installer runs in foreground
if (procInfos.get(i).processName.equals("com.android.packageinstaller") && procInfos.get(i).importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
//start activity
startActivity(new Intent(MasterService.this, OverlayActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NO_HISTORY));
}
}
}
}
を、任意のビューを作成し、パッケージのアンインストーラの画面に戻ることからユーザーを防ぐために、戻るボタンをオーバーライドします。
//OverlayActivity.java
public class OverlayActivity extends Activity{
private ImageView view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
view = new ImageView(this);
setContentView(view);
}
@Override
public void onBackPressed() {
}
};
ホームボタンはすべてのアクティビティを非表示にするため重要ではなく、ユーザがパッケージマネージャを選択するためにタスクボタンを押した場合、OverlayActivity
が再び開きます。 マスターサービスを停止または強制終了できないことを確認します。
onDestroy
ファンクションに、サービスを再度起動するカスタムブロードキャストメッセージを送信します。com.android.settings
をチェックして設定アプリも無効にします。
あなたは、ユーザーがアプリをいつアンインストールするかを知っておく必要があることをご存じでしょうか。
- 1. アンドロイドで振動機能を有効/無効にしますか?
- 2. アンドロイド児童アプリのホームボタンを無効にしますか?
- 3. アンドロイドのアクティビティスライド遷移を無効にしますか?
- 4. 無効にライトセンサー - アンドロイド
- 5. アプリケーションからの請求を有効または無効にしますか?
- 6. アンドロイドのボタンクリック音を無効にする
- 7. アンドロイド:アクションバーのホームボタンを無効にする
- 8. アンドロイドのアイドルタイムアウトを無効にする
- 9. ダウンリストビューから無効にスクロール - アンドロイド
- 10. ウェブビューブラウザテスター(アンドロイド)を無効にする
- 11. アンドロイドで自動キーロックを有効/無効にする方法
- 12. Unityアプリケーションでアンドロイドの通知バーを無効にするにはどうすればいいですか?
- 13. アンドロイドでアプリケーションをアンインストールしますか?
- 14. アプリケーションでMicrosoft IMEを無効にしました
- 15. アンドロイドは特定の位置のリストビューでeditTextを無効にします
- 16. アンドロイドの「ホーム」ボタンを無効にしてパターンロックアプリにする
- 17. aptana unistall from eclipse
- 18. iCloudを無効にして、別のApple IDにアプリケーションを転送しますか?
- 19. ストーリーボードベースのアプリケーションでUITabBarControllerのタブを無効/有効にする
- 20. アンドロイドLunarLanderの例では、「無効化」
- 21. FacebookのiOSアプリケーションで無効なアプリケーションID
- 22. django.contrib.authアプリケーションのマイグレーションを無効にする
- 23. UWPアプリケーションのスケーリングを無効にする
- 24. HerokuアプリケーションのSSLを無効にする
- 25. レルムオブジェクトがアンドロイドで無効になっています
- 26. Macのダークモードを無効にするSwiftのOSXアプリケーションを無効にする
- 27. ソフトキーボードのアンドロイドのオプションをプログラムで無効にする
- 28. jQueryのチェックボックスのチェックを無効にするTextBoxを無効にしますか?
- 29. アンドロイド:無効にしたボタンをクリックして有効にする方法
- 30. アプリケーションを使用して3gを無効/有効にする
あなたの携帯電話からあなたのアプリをアンインストールできないようにしたいですか?恐ろしい... –
デバイス管理者を作る方法はありますか。 ユーザーがアンドロイドでアプリケーションをインストールすると、他のユーザーはそのアプリをそのデバイスから削除できません。 –
私は会社を所有していて、私のスタッフが自分のために構築したアプリを使用したいと思っていたのですが、アンインストールした方がいいと思いますそれ。駐車券の人、営業スタッフ、配達スタッフを考えてください。私はハードウェアを所有しており、あなたはそれを使用すると言います。 – baash05