2

こんにちは、カレンダーアプリケーションにイベントの詳細を追加するためのいくつかの機能を備えたAndroidアプリケーションを開発しました。私のアプリケーションは正常に動作しています。ただし、デバッグ中に強制終了してlogcatにエラーが表示される場合があります。私はAndroidOSの新旧バージョンに2つのコンテンツURIを使用しました。

それらは

 if(){
    Uri calendars = Uri.parse("content://calendar/calendars");
    }
    else{
    calendars = Uri.parse("content://com.android.calendar/calendars");
    }

問題を解決しようとしていますが、成功しませんでした。この問題の最善の解決策を教えてください。以下にlogcatを追加しました。

前もって感謝します。

   java.lang.IllegalArgumentException: Event values must include an eventTimezone
    03-02 18:28:35.836: E/AndroidRuntime(1362):     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:165)
    03-02 18:28:35.836: E/AndroidRuntime(1362):     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
    03-02 18:28:35.836: E/AndroidRuntime(1362):     at android.content.ContentProviderProxy.insert(ContentProviderNative.java:415)
    03-02 18:28:35.836: E/AndroidRuntime(1362):     at android.content.ContentResolver.insert(ContentResolver.java:730)
    03-02 18:28:35.836: E/AndroidRuntime(1362):     at in.plackal.lovecyclesfree.CycleManager.setAlertOnDevice(CycleManager.java:1083)
    03-02 18:28:35.836: E/AndroidRuntime(1362):     at in.plackal.lovecyclesfree.ActivityManager.onPause(ActivityManager.java:83)
    03-02 18:28:35.836: E/AndroidRuntime(1362):     at android.app.Activity.performPause(Activity.java:4563)
    03-02 18:28:35.836: E/AndroidRuntime(1362):     at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1195)
    03-02 18:28:35.836: E/AndroidRuntime(1362):     at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2693)
4

2 に答える 2

9

Try to add this also may be it will work.

    eventValues.put("eventTimezone", TimeZone.getDefault().getID());
于 2014-08-21T19:12:19.340 に答える
-1

これを試して:

Calendar cal = Calendar.getInstance();  

    long l = cal.getTimeInMillis();

    long cal_Id = 1;

    ContentResolver CR = getContentResolver();



     ContentValues calEvent  = new ContentValues();

     calEvent.put(CalendarContract.Events.CALENDAR_ID,  cal_Id); // XXX pick)

     calEvent.put(CalendarContract.Events.TITLE, " Demo Data");

     calEvent.put(CalendarContract.Events.DTSTART,l);

     calEvent.put(CalendarContract.Events.DTEND, l+60 * 1000);

     calEvent.put(CalendarContract.Events.EVENT_TIMEZONE, "Indian/Christmas");  // Here choose your location time zone                  
     ContentResolver C2 = getContentResolver();
     Uri uri = C2.insert(URL, calEvent);                        

     int id = Integer.parseInt(uri.getLastPathSegment());       
于 2014-03-22T09:13:34.803 に答える