Android - Browser.BookmarkColumns cannot be resolved in Zxing Library
我正在使用zxing库开发应用程序。我将zxing项目导入了我的工作场所。导入时有一个我一直面临的问题。
Browser.BookmarkColumns无法解析或不是类型。
下面是提供的代码和屏幕截图。一个小的提示就足够了...
BookmarkPickerActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | public final class BookmarkPickerActivity extends ListActivity { private static final String TAG = BookmarkPickerActivity.class.getSimpleName(); private static final String[] BOOKMARK_PROJECTION = { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL }; static final int TITLE_COLUMN = 0; static final int URL_COLUMN = 1; private static final String BOOKMARK_SELECTION = Browser.BookmarkColumns.BOOKMARK +" = 1 AND" + Browser.BookmarkColumns.URL +" IS NOT NULL"; private Cursor cursor; @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); cursor = getContentResolver().query(content://com.android.chrome.browser/bookmarks, BOOKMARK_PROJECTION, BOOKMARK_SELECTION, null, null); if (cursor == null) { Log.w(TAG,"No cursor returned for bookmark query"); finish(); return; } setListAdapter(new BookmarkAdapter(this, cursor)); } @Override protected void onDestroy() { if (cursor != null) { cursor.close(); } super.onDestroy(); } @Override protected void onListItemClick(ListView l, View view, int position, long id) { if (!cursor.isClosed() && cursor.moveToPosition(position)) { Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); intent.putExtra(Browser.BookmarkColumns.TITLE, cursor.getString(TITLE_COLUMN)); intent.putExtra(Browser.BookmarkColumns.URL, cursor.getString(URL_COLUMN)); setResult(RESULT_OK, intent); } else { setResult(RESULT_CANCELED); } finish(); } } |
与
选项1:将build.gradle文件上的compileSdkVersion 23更改为22以解决此问题。.
选项2:使用Reflection方法获取compileSdkVersion> = 23中的浏览器历史记录。
使用Zxing的新版本,该版本已更新为api 25