The code Written below works for me
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("title", "Hi this me");
intent.putExtra("description", "Some description");
intent.putExtra("beginTime", eventStartInMillis);
intent.putExtra("endTime", eventEndInMillis);
startActivityForResult(intent, 1);
我的问题是我无法在OnActivityResult中备份Android日历数据,我不知道为什么请帮我解决这个问题。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == RESULT_OK){
String result=data.getStringExtra("title");
}
And i am getting data.getExtras() is null !!!!!
答案 0 :(得分:1)
因为结果代码总是返回0在android日历中日历隐式意图的活动结果尝试在onActivity结果中使用RESULT_CANCEL
public void onActivityResult(int reqCode,int resultCode,Intent data){
super.onActivityResult(reqCode,resultCode,data);
switch(reqCode){
if(resultCode == Activity.RESULT_CANCEL)
你必须查看Next Event ID它才能正常工作 希望它会对你有所帮助..
戈文德
答案 1 :(得分:1)
如果查看官方文档: http://developer.android.com/reference/android/app/Activity.html#setResult(int, android.content.Intent) 你会看到你在onActivityResult()中获得的Intent实际上取决于你正在调用的Activity。更具体地说,它取决于被调用的Activity是否将setResult(int,android.content.Intent)与带有额外内容的Intent一起使用。
通过快速的互联网搜索,您使用的代码似乎是在日历中添加事件,但这不是必要的,这意味着您将从日历应用程序中获取事件数据。 Perhups你必须在之后查询日历才能获得它们。
至于联系人应用程序,它在Contacts Provider Guide中明确指出,如果使用startActivityForResult,则可以在onActivityResult()中获取联系人数据。在“日历提供程序指南”中没有此类语句,因此可能不受支持。
答案 2 :(得分:-1)
您可以使用此代码:
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
if (resultCode == Activity.RESULT_OK) {
Bundle extras = data.getExtras();
String title=extras.getString("title");
String description=extras.getString("description");
String beginTime=extras.getString("beginTime");
String endTime=extras.getString("endTime");
答案 3 :(得分:-1)
问题是你是直接将数据放入意图并通过Bundle检索它。
试试这个:
克里特这样的捆绑对象:
Intent i = new Intent("yourFullyQualifiedClassName");
Bundle extras = new Bundle();
extras.putString("title", "Hi this me");
extras.putString("description", "Some description");
i.putExtras(extras);
然后从包中检索数据:
Bundle bundle = data.getExtras();
bundle.getString("title");
希望这能解决你的问题。
答案 4 :(得分:-1)
这是因为您通过活动A的startActivityForResult将数据传递给您启动的活动(活动B).onActivityResult()只会获取活动B而不是活动A传递的数据。
这是关于android意图的一个很好的教程。
http://www.vogella.com/articles/AndroidIntent/article.html
和这个网站也是
http://saigeethamn.blogspot.jp/2009/08/android-developer-tutorial-for_31.html