0
Intent intent = new Intent(Intent.ACTION_INSERT)
                        .setData(Events.CONTENT_URI)
                        .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginTime.getTimeInMillis())
                        .putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime.getTimeInMillis())
                        .putExtra(Events.TITLE, title)
                        .putExtra(Events.DESCRIPTION,desc )
                        .putExtra(Events.EVENT_LOCATION, loc)
                        .putExtra(Events.AVAILABILITY, Events.AVAILABILITY_BUSY);

我使用此代码添加事件。我不想使用 ContentValues 使用插入,因为它不会让用户有机会选择他的日历。那么我怎么知道用户已经按下了保存或取消按钮?PLZZZZZZ HELP

startActivityForResult(intent,RESULT_CANCELED); 

根据您的建议,我使用它来启动日历活动,下面是我的 onActivityResult 回调。

 @Override
 public void onActivityResult(int req,int res,Intent intent){

                if(RESULT_OK==res){
                 Toast.makeText(getApplicationContext(), "Resuming Activity",Toast.LENGTH_LONG).show();
                Toast.makeText(getApplicationContext(),"Created Event number:"+String.valueOf(getLastEventID()), Toast.LENGTH_LONG).show();

                addReminder(getLastEventID());
                }
                else if(RESULT_CANCELED==res){
                    Toast.makeText(getApplicationContext(), "No events added",Toast.LENGTH_LONG).show();
                }
             }

现在的问题是,在按下 DONE 或 CANCEL 时,Toast 出现的时间都显示“未添加事件”。这意味着 DONE 和 CANCEL 返回 RESULT_CANCELED。请检查它....

4

1 回答 1

0

像这样的东西:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if(RESULT_OK == resultCode){
         //XXXXXXXX
    } else if (RESULT_CANCELED == resultCode){
         //XXXXXXXX
    }
}
于 2013-08-26T07:47:47.697 回答