web-dev-qa-db-ja.com

Chrome履歴とブックマークAndroid Marshmallow(API> = 23))を取得する方法?

APIレベル22まで(つまりLollipopまで)、権限を使用してChromeアプリ( this thread に示すように)から履歴とブックマークを読み取る方法がありましたcom.Android.browser.permission.READ_HISTORY_BOOKMARKS

Android API = 23 Marshmallowでは、ブラウザのブックマークシステム全体がMarshmallowで削除されたため( ここでの変更 )、上記の方法は機能しなくなりました。

これがスレッドです これは、これがもはや不可能である理由を示しています。

これまでの私の研究では、良いニュースは見つかりませんでした。 Googleはシステムブックマーク機能を確実に終了しました( ここここ )、問題はChromeブラウザが何らかの方法でそれを公開しているのでしょうか?

Chrome(Chrome特定でもこの質問に答える)からブックマークと履歴を読み取る代替/方法はありますか?Androidマシュマロ?

25
user1406716

引用されたドキュメントとは異なり、_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の鍵で署名されたアプリに限定されています。

7
j__m