캘린더 응용 프로그램에 이벤트 수정을 요청하는 Android 애플리케이션을 개발합니다.Android 캘린더 : onActivityResult의 resultCode는 항상 0입니다.
나는 startActivityForResult()
을 사용하여 캘린더를 엽니 다. 이벤트를 편집하고 저장 한 후 resultCode
은 항상 onActivityResult()
안에 0입니다.
"onActivityResult resultCode는 항상 0을 반환합니다"와 관련된 여러 답변을 보았습니다. 두 번째 활동에서 setResult()
및 finish()
을 사용하지 않았기 때문입니다.
하지만 제 경우에는 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의 의도 "데이터"도 null을 반환합니다.
아무도 왜 그런지 설명 할 수 있습니까? 사용자가 "저장"또는 "취소"를 클릭했는지 알 수있는 방법이 있습니까?
는
가 값을 반환하도록 설계된 달력입니다 OK인가? 그렇지 않으면 항상 0을 반환합니다. – TomTsagk
Android (Google) 캘린더가 결과를 반환하지 않는다고 생각합니다. 적어도 [Calendar Provider] (http://developer.android.com/guide/topics/)에 지정되어 있지 않습니다. providers/calendar-provider.html). –
그렇다면 Android 캘린더 제공 업체는 사용자가 캘린더를 클릭하여 저장했는지 또는 취소했는지 알 수있는 방법을 제공합니까? – Sam35