typex20です。こんにちは。
2012年9月5日水曜日 18時48分14秒 UTC+9 highgeo:
アンインストールして再インストールしたことを検知できる方法はありますでしょうか?
本件は、セキュリティやプライバシーに関わるデリケートな問題ですし、なぜそれをやり
たいのかの理由を説明された方がコメントがつきやすいと思います。
何らかの端末側の痕跡を見てみる方法を検討しているのですが
なかなか有効な情報が得られていません
そもそも、残っていたらゴミなので残らないのでしょうか?
アプリに関する情報は、アプリがアンインストールされるとすべて削除されます。
また、GooglePlay側ではマイアプリなどでライブラリ内の他のアプリなどで
過去のインストール情報が管理されていそうなのですが
その情報を何らかの方法で取得することは可能でしょうか?
プライベートな情報に当たると思いますのでアプリ自分自身が過去インストールされたかです
そこもコントロールするのは難しいのでしょうか?
Google Playが各種ライセンス管理のためのAPIを提供しているので、有料アプリの場合は、
上記を実現できますが、無料アプリの場合はできないと思います。
また、Google Backupの機能を使用してバックアップ/リカバリ機能をアプリ側で実装する
ことにより、Googleのクラウド上にアプリのデータを保存/復元することができます。
つまり、アプリインストール時にGoogle Backupサーバに問い合わせて、復元できる時は、
ユーザがそのアプリをインストールしたことがあるということになります。
ただし、第三者のGoogleのクラウド上に保存されることにユーザの同意をとること、ユーザ
が端末の設定で、Google Backupの機能をONにしておく必要があります。
もちろん独自サーバを立てて上記と同様のことを実現することも可能です。
ただし、端末に関する固有情報が必要になることから、ユーザの同意をとる必要があります。
android.intent.action.PACKAGE_REMOVED
は自分自身が削除されたことを検知できるのでしょうか?
試してみたところダメっぽかったですが、自分の方法が間違っていたかもしれませんので
(ちなみにほかのアプリのREMOVEDは検知できました)
アンインストールされるアプリ自身が、アンインストールされたことを検知することは
できません。