1

重複の可能性:
タブレットのデバイス IMEI ロック

IMEI番号を使用してAndroidアプリをロックする方法はありますか. アプリのユーザーが APK を他のデバイスに送信してアプリを共有できるようにしたくないため、これを行いたいと考えています。

4

4 に答える 4

3

JellyBean まで、apk 自体を有料ユーザーにロックすることはできません。JellyBean 以降、有料アプリは暗号化されて電話に保存されます。

これは、 Screencastアプリケーションが使用していると思われる解決策です。あなたがそれを購入すると、彼らはあなたの身元を彼らのサーバーに保存します. アプリケーションを開くたびに、続行する前に再度身元を確認します。問題はもちろん、登録ユーザーであってもネットに接続していないと使えないことです。

于 2012-07-18T12:52:36.040 に答える
1
public String getSimSerialNumber(){
    TelephonyManager tm = (TelephonyManager)this.getActivity().getSystemService(this.getActivity().TELEPHONY_SERVICE); 
    String number = tm.getSimSerialNumber();
    return number;
}

これはあなたに役立つかもしれません。また、 AndroidのTelephonyManagerを使用して他のデータをフェッチすることもできます。

于 2012-07-18T12:46:36.017 に答える
1

私の知る限り、アプリ パッケージ自体を変更することはできません。したがって、一意のIDを使用して現在のインストールに「ロック」しても、ロックを検証する外部サーバーがなければ無意味です。それ以外の場合、ユーザーは再インストールするだけで、アプリケーションは IMEI を読み取ってロックします。ユーザーが「アプリ データ」を消去すると、アプリはそれを新規インストールと見なします。

事前に IMEI を知っている場合 (登録フォームなどから)、IMEI を内部にハードコードし、開始時にチェックして、各ユーザー用にアプリケーションの個人バージョンをコンパイルできます。

于 2012-07-18T12:49:43.403 に答える
1

このブログ投稿をお読みください。IMEI は、特定のデバイスを識別するための安全な方法ではありません。

http://android-developers.blogspot.de/2011/03/identifying-app-installations.html

  • WIFI のみのデバイスには IMEI がありません
  • リセット後、IMEI は同じままです。だからデバイスを売るのは問題だ
  • IMEI をクエリする関数がごみ箱を返すことがあります
  • アプリで追加の権限が必要です ( READ_PHONE_STATE )

残念ながら、グーグルはこの問題の「ベストプラクティス」の方法を示していません...

于 2012-07-18T12:50:16.440 に答える