android 日历

Posted clnchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 日历相关的知识,希望对你有一定的参考价值。

[1].[代码] [Java]代码 跳至 [1]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//读取日历事件     public static void getCalendarInfo(Activity activity,String tag){
        String[] projection = new String[]{CalendarContract.Events._ID,CalendarContract.Events.TITLE};
        ContentResolver cr = activity.getContentResolver();
        Cursor cursor = cr.query(CalendarContract.Events.CONTENT_URI, projection, null, null, null);
        int idIndex = cursor.getColumnIndexOrThrow(CalendarContract.Events._ID);
        Log.d(tag, cursor.getCount()+"");
        int titleIndex = cursor.getColumnIndexOrThrow(CalendarContract.Events.TITLE);
        while (cursor.moveToNext()) {
            String id = cursor.getString(idIndex);
            String title = cursor.getString(titleIndex);
            Log.d(tag, id+":"+title);
        }
        cursor.close();
    }
    
    //插入事件     public static void addCalendarEvent(Activity activity,String tag){
        Intent intent = new Intent(Intent.ACTION_INSERT,CalendarContract.Events.CONTENT_URI);
        Log.d(tag, CalendarContract.Events.CONTENT_URI.toString());
        intent.putExtra(CalendarContract.Events.TITLE, "Launch");
        intent.putExtra(CalendarContract.Events.DESCRIPTION, "Launch,android app");
        intent.putExtra(CalendarContract.Events.EVENT_LOCATION, "baidu.com");
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, calendar.getTimeInMillis());
        intent.putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, true);
        activity.startActivity(intent);
    }
    //编辑日历事件     public static void editCalendarEvent(Activity activity,String tag){
        long rowId = 1;
        Uri editUri = ContentUris.withAppendedId(CalendarContract.Events.CONTENT_URI,rowId);
        Log.d(tag, CalendarContract.Events.CONTENT_URI.toString());
        Intent intent = new Intent(Intent.ACTION_EDIT,editUri);
        intent.putExtra(CalendarContract.Events.EVENT_LOCATION, "NJ");
        Calendar calendar = Calendar.getInstance();
        calendar.set(2015, 2, 17, 12, 1, 1);
        intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, calendar.getTimeInMillis());
        intent.putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, true);
        activity.startActivity(intent);
    }
    //查看日历     public static void viewCalendar(Activity activity,String tag){
        Calendar calendar = Calendar.getInstance();
        calendar.set(2015, 2, 17, 12, 1, 1);
        Uri uri = Uri.parse("content://com.android.calendar/time/"+calendar.getTimeInMillis());
        Intent intent = new Intent(Intent.ACTION_VIEW,uri);
        activity.startActivity(intent);
    }

以上是关于android 日历的主要内容,如果未能解决你的问题,请参考以下文章

Android 中的日历视图

NR - iOS / Android 相机/相册/日历/定位 等权限 检测+申请代码

NR - iOS / Android 相机/相册/日历/定位 等权限 检测+申请代码

NR - iOS / Android 相机/相册/日历/定位 等权限 检测+申请代码

Android代码片段

日历返回错误的月份