如何从我的应用程序打开日历?

我正在为Android开发一个应用程序,我不需要我的应用程序将日历作为其中的一部分(加上它会破坏目的),我的应用程序允许用户收听广播,并且需要选择设置事件到(记住在特定时间收听广播),如果应用程序具有自己的日历,则事件警报仅在用户打开应用程序时才会响起……毫无意义。我一直在寻找但找不到,有没有办法使用意图或其他方式打开Goog​​le日历或Android可能具有的其他日历?我需要将我的意图(/其他代码)放在我已经拥有的监听器中,现在看起来像这样

private View.OnClickListener reminder = new View.OnClickListener() {

@Override

public void onClick(View v) {

// open calendar code goes here.

}

};

我不需要在日历中的任何字段中预填应用程序,只需打开它即可,其余的将留给用户使用。欢迎所有帮助,谢谢

回答:

如果您只想打开日历,则可以使用这些组件名称并同时使用它们(如果要支持较旧的手机,则可能必须兼顾两者)

Intent i = new Intent();

//Froyo or greater (mind you I just tested this on CM7 and the less than froyo one worked so it depends on the phone...)

cn = new ComponentName("com.google.android.calendar", "com.android.calendar.LaunchActivity");

//less than Froyo

cn = new ComponentName("com.android.calendar", "com.android.calendar.LaunchActivity");

i.setComponent(cn);

startActivity(i);

如果要转到添加事件屏幕(听起来更符合您的目的),请使用以下命令:

 //all version of android

Intent i = new Intent();

// mimeType will popup the chooser any for any implementing application (e.g. the built in calendar or applications such as "Business calendar"

i.setType("vnd.android.cursor.item/event");

// the time the event should start in millis. This example uses now as the start time and ends in 1 hour

i.putExtra("beginTime", new Date().getTime());

i.putExtra("endTime", new Date().getTime() + DateUtils.HOUR_IN_MILLIS);

// the action

i.setAction(Intent.ACTION_EDIT);

startActivity(i);

(代码未经测试,是从现有项目复制的)

以上是 如何从我的应用程序打开日历? 的全部内容, 来源链接: utcz.com/qa/411300.html

回到顶部