String calenderEventUrl = ""; if (TextUtils.isEmpty(calenderEventUrl)) { if (Integer.parseInt(VERSION.SDK) >= 8) { calenderEventUrl = "content://com.android.calendar/events"; } else { calenderEventUrl = "content://calendar/events"; } }
intent.setData (Uri.parse (calenderEventUrl))
intent.putExtra ("beginTime",startTime)
.putExtra ("endTime", endTime)
.putExtra ("title" title) .putExtra ("allDay", isAllDay);
context.startActivity (intent);
这两天注意到一个事情,在调用vivo手机系统日历添加日程事件时候用上吗的这种方法总是打不开App,很郁闷,搜了半天也找不到解决问题的方法,于是想到一个方法,找到vivo手机日历apk,在找到AndroidManifest.xml,再找到对应的activity的intent-filter果不其然在里面看到了一些有用的东西:
<activity android:name=".event.EditEventActivity" android:screenOrientation="1"> <intent-filter> <action android:name="android.intent.action.EDIT" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.cursor.item/event" /> </intent-filter> </activity>
根据这里面的内容重新写了一遍调用:
Intent intent = new Intent (); intent.setAction ("android.intent.action.EDIT"); intent.addCategory ("android.intent.category.DEFAULT"); intent.setType ("vnd.android.cursor.item/event");
intent.putExtra ("beginTime",startTime)
.putExtra ("endTime", endTime)
.putExtra ("title" title) .putExtra ("allDay", isAllDay);
context.startActivity (intent);
写完后一试,完美运行,在别的品牌手机上同样可以调用