我开发了一个Android应用程序,可以提示日历应用程序编辑事件。
我使用
无论我在日历应用中点击“保存”或“取消”,
此外,我需要从日历意图中获取数据。但是,在onActivityResult中的意图“data”也返回null。
有人能解释一下为什么会发生这种情况吗?是否有办法知道用户是否点击了“保存”或“取消”?
startActivityForResult()
打开日历。在编辑并保存事件后,在onActivityResult()
中,resultCode
始终为0。
我看到许多与“onActivityResult resultCode always returns 0”相关的答案。这是因为第二个活动中没有使用setResult()
和finish()
。
但在我的情况下,我正在调用Android日历应用程序(而不是自定义活动)。
促使Android日历的代码:Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
//set the event details
startActivityForResult(intent,1);
在日历被保存或取消时触发。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//resultCode always returns 0.
switch(requestCode) {
case 1:
if (resultCode == Activity.RESULT_OK)
{
}
}
}
无论我在日历应用中点击“保存”或“取消”,
resultCode
始终为0。此外,我需要从日历意图中获取数据。但是,在onActivityResult中的意图“data”也返回null。
有人能解释一下为什么会发生这种情况吗?是否有办法知道用户是否点击了“保存”或“取消”?
resultCode
,你有收到任何Intent data
吗?if(data != null)
返回true
了吗?你能从中获取data.getExtras()
的bundle
吗?将其打印到Logcat中,其中包含什么? - nightfixed