- Androidプログラミング質問スレ revision51 [無断転載禁止]©2ch.net
605 :デフォルトの名無しさん[sage]:2016/09/20(火) 22:43:24.21 ID:2xZZydVu - 質問ですのよ。
API 23 (Android 6)からパーミッションの取得をアプリ側でやらないといけなくなりました。 パーミッションの取得を要求するActivityCompat.shouldShowRequestPermissionRationale()はコールバックされるオブジェクトにActivityしか指定できません。 しかし、ServiceやProviderは勝手に起動してしまいます。 つまり、ServiceやProviderはあるActivityがパーミッションを取得する前にonCreate()を呼ばれてしまう可能性があるってことでしょうか? だとするとServiceやProviderのonCreate()にパーミッションが必要なことは書けないのですよね? Serviceの場合、onCreate()に書いたパーミッションが必要なコードをBind後に書けば解決するのですが、 Providerの場合、どうすればいいのでしょうか? 実はProviderのonCreate()でSQLiteOpenHelperクラスの派生クラスをnewしているのですが、このコードをどこへ移転すればいいのかわかりません。 初期化用のメソッドを作ってActivityに呼んでもらうしかないのでしょうか?
|