2012-12-19 20 views
5

मैं निम्न विधि का उपयोग स्थानीय स्तर पर (आईसीएस & जेबी) एक गूगल कैलेंडर की सभी घटनाओं को हटाने के लिए नष्ट कर दिया गया है कि चलाता है:सभी स्थानीय कैलेंडर घटनाओं को हटाया जा रहा काम करता है, लेकिन एक त्रुटि भी कई घटनाओं

public void deleteAll(){ 
    String selection = "(" + CalendarContract.Events.CALENDAR_ID + " = ?)"; 
    String[] selectionArgs = new String[] { Integer.toString(this.calId) }; 
    ContentResolver cr = context.getContentResolver(); 
    int rows = cr.delete(CalendarContract.Events.CONTENT_URI, selection, selectionArgs); 
    Log.d(TAG, rows + " events deleted"); 
} 

यह सब काम करता है ठीक है, लेकिन मैं एक कष्टप्रद चेतावनी मिलती है: बहुत सारे कैलेंडर को हटा देता है

Delete limit exceeded 

There are 21 deleted items for Calendar, account 
[email protected] What would you like to do?" 

Delete the items. 
Undo the deletes. 
Do nothing for now. 

त्रुटि के लिए कारण दिखाया जा सकता है क्या है, और किसी को भी एक तरह से यह से बचने के लिए पता है? मैं HTC एक एक्स

सादर आर

+0

क्या आपने केवल अपने कैलेंडर से एक विशेष/विशिष्ट ईवेंट को हटाने का प्रयास किया है? यदि चेतावनी प्राप्त किए बिना 1-बाय-1 काम को हटाया जाता है, तो मैं घटनाओं को फिर से शुरू करने और इसे 1-दर-1 हटाने के बारे में सोच रहा हूं। –

+0

मैं पुष्टि कर सकता हूं कि इवेंट आईडी द्वारा 1-बाय-1 को हटाने का प्रयास करने से कोई काम नहीं होता है। जब भी आप उस संदेश को ट्रिगर करने वाली पर्याप्त घटनाओं को हटाने का प्रयास करते हैं (यह जानने के लिए कि सीमा क्या है) यह अभी भी 1-दर-1 या सभी को हटाने के बावजूद होता है। –

उत्तर

0

मैं इस कुछ समय आई है, यह बहुत कष्टप्रद है का उपयोग कर रहा हूँ! यह दुर्भाग्य से एक ज्ञात और जारी मुद्दा है। इसमें existing bug report है, लेकिन यह अभी भी सही नहीं किया गया है।

समस्या को ठीक करने के लिए, आपको अपना स्थानीय कैलेंडर कैश साफ़ करना होगा।

स्टॉक एंड्रॉयड:

Settings > Applications > Manage Applications > Calendar Storage > Clear data 

एचटीसी सेंस:

ऐसा करने के लिए, अपने डिवाइस पर निम्न कार्य

Settings > Apps > All > Calendar Storage > Clear data 

एक बार जब आप कि, समस्या करना चलेगा

+0

यह बढ़िया है, लेकिन मेरे ऐप के उपयोगकर्ताओं को ऐसा करने की उम्मीद नहीं की जानी चाहिए, क्या उन्हें चाहिए? मैं विशेष रूप से नहीं चाहता हूं कि वे अधिसूचना चेतावनी देखें, क्योंकि वे जो कर रहे हैं वे वास्तव में करना चाहते थे .. उन्हें इसके बारे में परेशान करने में कोई समझ नहीं है। क्या इन कैशों को साफ़ करने के लिए स्वचालित रूप से संकेत देने का कोई तरीका है? –

+0

जहां तक ​​मुझे पता है, वहां कुछ भी नहीं है जिसे प्रॉम्प्ट को चुप करने के लिए प्रोग्रामेटिक रूप से किया जा सकता है; जबकि आप ऐप डेटा को प्रोग्रामेटिक रूप से साफ़ कर सकते हैं, तो आप केवल अपने स्वयं के ऐप के डेटा को साफ़ कर सकते हैं, न कि Google कैलेंडर। यह एक बग है। –

+0

मेरे लिए (एंड्रॉइड 4.0.4) डेटा साफ़ करने के लिए पथ सेटिंग्स> डिवाइस> स्टोरेज> आंतरिक संग्रहण> ऐप्स> सभी> कैलेंडर संग्रहण (कैलेंडर नहीं)> संग्रहण> डेटा साफ़ करें। एचटीएच कोई Brewmanz – brewmanz