2

アプリケーション B (アプリ A のデータ フォルダーに存在する) をインストールするインテントを起動するアプリケーション A があります。

アプリケーション B がインストールされると、ASTRO などのファイル マネージャーはアプリケーション B の apk ファイルをバックアップできます。

そのため、ユーザーが手動でインストールできないようにしたいと考えています (たとえば、アプリケーション B のバックアップ apk ファイルをクリックしても、インストールされるべきではありません)。

手動インストールを無効にする方法はありますか?

4

4 に答える 4

1

ただし、アプリを監視する方法は 2 つあります。1 つは、File Observer を使用して監視する方法です。

アプリを監視します。アプリがバックアップとして取られたときはいつでも、それを防ぐために何かをします。別の方法は

例: sdcard\am\ に保存している場合は、次のように使用します。

    File f=new File("\mnt\sdcard\am\abc.apk");// file location of your app
    {
       if(f.exists)
       {
           f.delete();
       }
    }

ファイル オブザーバーについては、これを一瞥してください。

http://developer.android.com/reference/android/os/FileObserver.html

于 2013-01-25T07:58:33.543 に答える
0

これは AOSP Android では不可能です。

[不明なソースからインストール] オプションはSettings.Global(以前は にあったSettings.Secure) の設定であり、サード パーティのアプリケーションで制御することはできません。

ただし、一部のデバイスで AT&T が行っているように、これを使用するデバイスごとに Android 自体を変更およびコンパイルする意思がある場合は、これを実現することができます。

最善の方法は、バックアップ ファイルを見つけて、ストレージのその部分にアクセスできる場合は削除することです。

于 2013-01-25T07:53:56.633 に答える
0

実現可能かどうかはわかりませんがA、アプリケーションがインストールされているときに手動で入力する必要があるコード(2段階認証など)をアプリケーションに吐き出させ、Bサーバー側で検証することでこれを解決します。そうすれば、あなたが言及したような不正なインストールは役に立たなくなります。おそらく、ユーザーにこれを通知するエラーをポップアップ表示することができます。

于 2013-01-25T08:07:19.703 に答える
0

バックアップが作成された場所を見つけて、apk を削除できますか。

APk がファイル マネージャーで利用できる場合は、それを開いてインストールできます。アプリケーションの範囲外であるため、APk を停止する方法はわかりません。

于 2013-01-25T07:47:19.540 に答える