2015-03-08 155 views
0

在我的LG-G3上有一个名为“Phone”的默认日历。这不是Google的。LG默认日历和Google日历之间的区别

我构建了一个应用程序,它可以与用户的Google日历同步事件,但是当我使用查询选择所有日历时 - 我也会收到“电话”日历。由于它不是Google日历,因此我无法将它与Google日历功能(插入,删除等)一起使用。

我看不出“电话”日历和Google canledars之间的区别,除了名称。有没有办法知道日历是否是Google的?

这是我的查询:

 String[] l_projection = new String[] { Calendars._ID, Calendars.CALENDAR_DISPLAY_NAME, Calendars.CALENDAR_ACCESS_LEVEL, Calendars.ALLOWED_REMINDERS, Calendars.SYNC_EVENTS }; 
     Uri l_calendars; 
     if (Build.VERSION.SDK_INT >= 8) { 
      l_calendars = Uri.parse("content://com.android.calendar/calendars"); 
     } else { 
      l_calendars = Uri.parse("content://calendar/calendars"); 
     } 

     try { 
      Cursor l_managedCursor = activity.getContentResolver().query(l_calendars, l_projection, null, null, null); 
      if (l_managedCursor.moveToFirst()) { 
       String l_methodAllow; 
       String l_accessPermission; 
       String l_calName; 
       String l_calId; 
       String l_syncEvents; 
       int l_cnt = 0; 
       int l_syncEventsCol = l_managedCursor.getColumnIndex(l_projection[4]); 
       int l_methodAllowCol = l_managedCursor.getColumnIndex(l_projection[3]); 
       int l_accessPermissionCol = l_managedCursor.getColumnIndex(l_projection[2]); 
       int l_nameCol = l_managedCursor.getColumnIndex(l_projection[1]); 
       int l_idCol = l_managedCursor.getColumnIndex(l_projection[0]); 
       do { 
        String access = l_managedCursor.getString(l_accessPermissionCol); 
        if (access.equals("500") || access.equals("600") || access.equals("700") || access.equals("800")) { 
         l_syncEvents = l_managedCursor.getString(l_syncEventsCol); 
         l_methodAllow = l_managedCursor.getString(l_methodAllowCol); 
         l_accessPermission = l_managedCursor.getString(l_accessPermissionCol); 
         l_calName = l_managedCursor.getString(l_nameCol); 
         l_calId = l_managedCursor.getString(l_idCol); 

         calNames.add(l_calName); 
         // .... 

         ++l_cnt; 
        } 
       } while (l_managedCursor.moveToNext()); 
      } 
     } catch (Exception e) { 
      // ... 
     } 
+1

可以通过查看日历ID的域名来识别Google日历。对于主日历,日历ID域名是@ gmail.com。如果其次日历,日历ID域名是group.calendar.google.com – SGC 2015-03-13 20:00:02

+0

@SGC \t - 您可以将其发布为答案 – TamarG 2015-03-15 12:26:44

+0

谢谢@TamarG。我发布了答案:) – SGC 2015-03-16 15:43:36

回答

1

谷歌日历可以通过查看日历ID的域名来标识。对于主日历,日历ID域名是@ gmail.com。如果其次日历,日历ID域名是group.calendar.google.com