问题描述: 在 Android 应用中,使用 ContentProvider 可以供其他应用程序共享数据和资源。但有些时候,重复调用 ContentProvider 可能会导致此功能出现问题。一个常见的问题就是“android FilrPrivider not working twice”(无法正常工作两次),即您第二次调用 ContentProvider 时可能会遇到崩溃或其他错误。
解决方案: 如果您遇到此问题,则可以尝试使用以下几种方法:
Uri uri = // content://your.content.provider/your/path ContentResolver contentResolver = context.getContentResolver(); Bundle extras = new Bundle(); extras.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true); extras.putBoolean(ContentResolver.SYNC_EXTRAS_FORCE, true); contentResolver.call(uri, "onCreate", null, extras);
ContentResolver contentResolver = context.getContentResolver(); contentResolver.delete(Uri.parse("content://your.content.provider/your/cachedata"), null, null);
Uri uri = // content://your.content.provider/your/path Intent intent = new Intent(); intent.setAction("your.action"); intent.setData(uri); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); startActivity(intent);
综上所述,以上三种方法中的任何一种都可能有