APIレベル22まで(つまりLollipopまで)、権限を使用してChromeアプリ( this thread に示すように)から履歴とブックマークを読み取る方法がありましたcom.Android.browser.permission.READ_HISTORY_BOOKMARKS
。
Android API = 23 Marshmallowでは、ブラウザのブックマークシステム全体がMarshmallowで削除されたため( ここでの変更 )、上記の方法は機能しなくなりました。
これがスレッドです これは、これがもはや不可能である理由を示しています。
これまでの私の研究では、良いニュースは見つかりませんでした。 Googleはシステムブックマーク機能を確実に終了しました( ここ & ここ )、問題はChromeブラウザが何らかの方法でそれを公開しているのでしょうか?
Chrome(Chrome特定でもこの質問に答える)からブックマークと履歴を読み取る代替/方法はありますか?Androidマシュマロ?
引用されたドキュメントとは異なり、_com.Android.browser.permission.READ_HISTORY_BOOKMARKS
_は引き続きフレームワークによって定義されており、アプリによって引き続き取得できます。残念ながら、Marshmallow以降では、Chromeは通常のアプリが取得できない別の権限をチェックします。互換性の理由から、その権限チェックが必然的に失敗した場合、Chromeは、SecurityException
をスローする代わりに、0行を返します。
ここでソースコードを見ることができます:
query()
を呼び出す hasReadAccess()
を呼び出す hasPermission("com.Android.browser.permission.READ_HISTORY_BOOKMARKS")
を呼び出す> = Mは許可引数を無視し、代わりに _com.Android.chrome.permission.READ_WRITE_BOOKMARK_FOLDERS
_ をチェックします。この権限は、システムアプリとGoogleの鍵で署名されたアプリに限定されています。