können wir Chrome Browsing Geschichte/Lesezeichen wie wir bekommen Standard-Browser mit READ_HISTORY_BOOKMARKS Erlaubnis? PS: Ich möchte nur wissen, ist es möglich?können wir Chrome Browsing Geschichte/Lesezeichen in unserer Android App
Antwort
Ja, es ist sehr viel möglich. verwenden uri: content://com.android.chrome.browser/bookmarks
statt Browser.BOOKMARKS_URI
String[] proj = new String[] { Browser.BookmarkColumns.TITLE,Browser.BookmarkColumns.URL };
Uri uriCustom = Uri.parse("content://com.android.chrome.browser/bookmarks");
String sel = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history, 1 = bookmark
Cursor mCur = getContentResolver().query(uriCustom, proj, sel, null, null);
mCur.moveToFirst();
@SuppressWarnings("unused")
String title = "";
@SuppressWarnings("unused")
String url = "";
if (mCur.moveToFirst() && mCur.getCount() > 0) {
boolean cont = true;
while (mCur.isAfterLast() == false && cont) {
title = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.TITLE));
url = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.URL));
// Do something with title and url
mCur.moveToNext();
}
}
Havent den Code auf Fehler getestet, aber es sollte funktionieren. Das Wichtigste ist, dass man die zu verwendende URI kennt. Reading this und this könnte helfen.
Wie herauszufinden, welche URI ist die gute für Lesezeichen (Welche muss verwendet werden)? Ich benutze Browser.BOOKMARKS_URI (= Uri.parse ("content: // browser/bookmarks")): funktioniert auf den meisten Geräten gut, aber auf einigen Geräten (wahrscheinlich verwendet Chrome als Standard), löst es eine "java.lang .IllegalArgumentException: Unbekannter URL-Inhalt: // Browser/Lesezeichen " Soll ich in diesem Fall Chrome URI ausprobieren? "content: //com.android.chrome.browser/bookmarks" Was ist der richtige Weg, um zu wissen, welcher Bookmark-URI (gut) auf einem bestimmten Gerät/einer gegebenen Konfiguration verwendet werden soll? – Pascal
Dies funktioniert nicht mehr in Marshmallow: https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-bookmark-browser – user1406716
Ich denke, die Antwort ist nein. Ich spreche über den Normalfall, d. H. Ohne Root-Zugriff, jede App verfügt über individuelle Daten, die im Ordner/data gespeichert sind und keine Zugriffsberechtigung für den Ordner der anderen App haben. Wenn Sie jedoch Root-Zugriff haben, ist das ein anderer Fall. – dumbfingers