मैं ContentProvider बना रहा हूं जो किसी अन्य सामग्री प्रदाता (सुरक्षा समस्याओं के लिए और पूर्ण ऐप की कार्यक्षमता के हिस्से तक पहुंच प्रदान करने के लिए) का प्रॉक्सी है।कंटर्सप्रॉपडर में कर्सर रैपिंग/अनवरपिंग
public class GFContactsProvider extends ContactsProvider implements
DatabaseConstants {
private Context mContext;
private ContentResolver mContentResolver;
@Override
public boolean onCreate() {
mContext = getContext();
mContentResolver = mContext.getContentResolver();
}
@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
Cursor result = mContentResolver.query(ContactsContract.getContactsURI(Long.parseLong(address.get(1))), null, null, null, ContactsContract.ContactColumns.SHOW_NAME);
return result;
}
}
मेरी सी.पी. से भीतरी सी.पी. कॉल करने के बाद मैं अनपेक्षित अपवाद recive:
java.lang.UnsupportedOperationException: Only CrossProcessCursor cursors are supported across process for now
अपवाद सी.पी. द्वारा कर्सर की रैपिंग से संबंधित है और यह लिपटे हस्तांतरण, आउटर सी.पी. इसे फिर से लपेट नहीं कर सकते तो मुझे यहाँ एक समस्या है। जब मैंने लौटा कर्सर की कक्षा की जांच की तो मुझे कर्सरवापर इंटर्नर मिला। क्या मेरे बाहरी सीपी में कर्सर को खोलने का कोई तरीका है (इस सीडब्ल्यूआई से नियमित कर्सर तक) लेकिन लूप में मैट्रिक्स कर्सर में सभी डेटा ट्रांसफर करके नहीं - यह बहुत समय लेने वाला है)।