2012/05/25

Android の アクセスリクエスト は一度許可すると取り消せない

Android で Google のサービス(Google Drive とか Picasa)等にアクセスするアプリケーションは以下のようなアクセスリクエストを要求してきます。

これ、一度「許可」を押してしまうと、取り消す方法がないようです。
正確には、端末をリセットするか root を取ってシステムのデータベースを削除するしかないようです。

参考:

「少なくとも 2.3 までは」と書いてあるので、もしかしたら、Honeycomb 以上だと消せるAPIがあるのかもしれません。


一応、エミュレータかルートを取った端末でのリセット方法が書いてあったのでメモしておきます。
  • エミュレータの場合は
    adb -e shell 'sqlite3 /data/system/accounts.db "delete from grants;"'
  • ルートを取った端末(sqlite3 インストール済み)の場合は
    adb -d shell 'echo sqlite3 /data/system/accounts.db \"delete from grants\;\" | su'

ただ、これをやるとインストールしてある全てのアプリケーションに対して取り消しを行うことになるようですね。
私の場合、自分で作ったアプリの動作確認用に、この画面を何度か出したいというだけの話なので、全部消されちゃうのはちょいとめんどいです。

動作確認するためのエミュレータを作成するのが正解かもしれません。


0 件のコメント: