2017-09-25 20 views
-1

私はカレンダーを使用して私のアプリにイベントを追加しようとしています。CalenderContractによると、カレンダーにイベントを追加するたびに一定のIDを提供する必要があります。AndroidでデフォルトのCALENDAR_IDを取得するにはどうすればよいですか?

いくつかのデバイスで動作するcalender_ID =1といくつかのデバイスでも動作するcalender_ID = 3を試してみました。

私はこの作業を適切に行うために使用できるいくつかのデフォルトIDがあると思います。

これはどのようにすればいいですか教えてください。

ありがとうございました。

答えて

0

あなたは、この次のコードでカレンダーIDを取得することができます:あなたは、実行時にカレンダーIDを取得し、それを使用することができます

String projection[] = {"_id", "calendar_displayName"}; 
    Uri calendars; 
    calendars = Uri.parse("content://com.android.calendar/calendars"); 

    ContentResolver contentResolver = c.getContentResolver(); 
    Cursor managedCursor = contentResolver.query(calendars, projection, null, null, null); 

    if (managedCursor.moveToFirst()){ 
     m_calendars = new MyCalendar[managedCursor.getCount()]; 
     String calName; 
     String calID; 
     int cont= 0; 
     int nameCol = managedCursor.getColumnIndex(projection[1]); 
     int idCol = managedCursor.getColumnIndex(projection[0]); 
     do { 
      calName = managedCursor.getString(nameCol); 
      calID = managedCursor.getString(idCol); 
      m_calendars[cont] = new MyCalendar(calName, calID); 
      cont++; 
     } while(managedCursor.moveToNext()); 
     managedCursor.close(); 
    } 

。ハードコードされた1または3列IDは必要ありません。

+0

MyCalendar []は何ですか? @chandrakant – droidman

+0

私のメソッドは、あなたがそれを取ったカレンダーの戻り値の型を取るだろうが、あなたが私のコードを編集する必要はありません –

関連する問題