【问题标题】:startActivityForResult on calendar event action_insert not returning to app日历事件 action_insert 上的 startActivityForResult 未返回到应用程序
【发布时间】:2012-11-02 15:22:43
【问题描述】:

以下代码启动日历事件编辑活动以创建新的日历事件。之后,我希望它通过调用 onActivityResult 返回到我的应用程序。那没有发生。相反,它正在返回日历议程视图活动。

这是启动事件编辑器的代码。

public void onAddToCalendar (String description)
{
  Intent intent = new Intent (Intent.ACTION_INSERT);
  intent.setData (CalendarContract.Events.CONTENT_URI);
  intent.putExtra (Events.TITLE, description());
  startActivityForResult (intent, ACTIVITY_RESULT_ADD_EVENT);
}

我需要做什么才能通过 onActivityResult 返回到我的应用程序?我正在运行安卓 4.1.2。

【问题讨论】:

    标签: android events calendar


    【解决方案1】:

    只需在Activity A和B等父Activity中重写下面的方法

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
    }
    

    使用 onClick 方法启动 Activity

       startActivityForResult(intentName, 0);
    

    在子活动中,您使用/覆盖 onStop() 方法

        @Override
        protected void onStop()
        {
             super.onStop();
         }
    

    【讨论】:

    • 我希望它是那么简单,但如果我在这里错了,请纠正我。日历编辑活动不是我的代码 - android 发行版的一部分。所以,我没有一种我知道的方法来覆盖它的 onStop。我希望有一个 putExtra 或其他一些方法来改变它的行为。
    • 这样更近了。它返回到日历议程视图,但随后又返回到我的应用程序。这是我现在使用的代码:` Intent intent = new Intent (Intent.ACTION_INSERT); intent.setData (CalendarContract.Events.CONTENT_URI); intent.putExtra(Events.TITLE,描述);意图.setFlags(意图.FLAG_ACTIVITY_NEW_TASK);意图.setFlags(意图.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivityForResult(意图,ACTIVITY_RESULT_ADD_EVENT); ` 那么,关于如何让它立即返回到我的应用程序的任何想法?
    猜你喜欢
    • 2012-11-24
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    相关资源
    最近更新 更多