0
나는 모든 것이 디버그 모드에서 잘 작동 버그
final public class BatchOperation {
private final String TAG = "BatchOperation";
private final ContentResolver mResolver;
// List for storing the batch mOperations
private final ArrayList<ContentProviderOperation> mOperations;
public BatchOperation(Context context, ContentResolver resolver) {
mResolver = resolver;
mOperations = new ArrayList<ContentProviderOperation>();
}
public int size() {
return mOperations.size();
}
public void add(ContentProviderOperation cpo) {
mOperations.add(cpo);
}
public Uri execute() {
Uri result = null;
if (mOperations.size() == 0) {
return result;
}
// Apply the mOperations to the content provider
try {
ContentProviderResult[] results = mResolver.applyBatch(
ContactsContract.AUTHORITY, mOperations);
if ((results != null) && (results.length > 0))
result = results[0].uri;
} catch (final OperationApplicationException e1) {
Log.e(TAG, "storing contact data failed", e1);
} catch (final RemoteException e2) {
Log.e(TAG, "storing contact data failed", e2);
}
mOperations.clear();
return result;
}
아래 같은 연락 앱 사용하여 일괄 작업을했다하지만 난
릴리스 모드에 내 응용 프로그램에 서명 한 후 나는이 문제에 직면
이 라인에서
E/BatchOperation﹕ storing contact data failed
java.lang.ClassCastException: a cannot be cast to android.content.ContentProviderOperation
at android.content.ContentProviderProxy.applyBatch(ContentProviderNative.java:479)
at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:227)
at android.content.ContentResolver.applyBatch(ContentResolver.java:951)
ContentProviderResult[] results = mResolver.applyBatch(ContactsContract.AUTHORITY,
mOperations);
여기에
는
예, proguard를 다시 사용하지 않으면 모든 것이 정상입니다. –
최적화 옵션없이 시도해보십시오. 나는 더 이상 사용하지 않는다. –
응답 해 주셔서 감사하지만 문제는 여전히 발생합니다. ( –