2017-10-19 5 views
0

Ich tat dies auf Api 18 und es funktioniert:Erlaubnis READ_HISTORY_BOOKMARKS nicht auf API arbeiten 23

String[] proj = new String[] { BookmarkColumns.TITLE,BookmarkColumns.URL }; 
     Uri uriCustom = Uri.parse("content://com.android.chrome.browser/bookmarks"); 
     String sel = 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(BookmarkColumns.TITLE)); 
       url = mCur.getString(mCur.getColumnIndex(BookmarkColumns.URL)); 
       Log.e("title" , title); 
       Log.e("url" , url); 
       // Do something with title and url 
       mCur.moveToNext(); 
      } 
     } 

Aber auf API 23 es nicht funktioniert, ich dies auf Android.Manifest

hinzugefügt
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/> 
+1

was ist das Problem Sie stehen vor der ich bin Fehler, bitte fügen Sie Ihre Protokolle hier. Und überprüfen Sie, ob App stürzt –

+0

@AbdulWaheed auf API 24 Ich sehe keine Protokolle ein mCur ist leer, aber ich habe eine Geschichte in Chrom –

Antwort

5

beziehen sich auf diesen Link Android 6.0 Änderungen auf Lesezeichen Browser Verhalten Einführung: https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-bookmark-browser

Diese Version entfernt die Unterstützung für globale Lesezeichen. Die Methoden android.provider.Browser.getAllBookmarks() und android.provider.Browser.saveBookmark() werden jetzt entfernt. Ebenso werden die Berechtigungen READ_HISTORY_BOOKMARKS und WRITE_HISTORY_BOOKMARKS entfernt. Wenn Ihre App auf Android 6.0 (API-Level 23) oder höher abzielt, greifen Sie nicht auf Lesezeichen vom globalen Anbieter zu oder verwenden Sie die Lesezeichenberechtigungen . Stattdessen sollte Ihre App die Lesezeichen intern speichern.

Verwandte Themen