2012/05/25
Android の アクセスリクエスト は一度許可すると取り消せない
これ、一度「許可」を押してしまうと、取り消す方法がないようです。
正確には、端末をリセットするか root を取ってシステムのデータベースを削除するしかないようです。
参考:
- How do you force AccountManager to show the “Access Request” screen after a user has already allowed access? - Stack Overflow
- Unauthorize and App from AccountManager Credential Access - Stack Overflow
「少なくとも 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 件のコメント:
コメントを投稿