【问题标题】:Finish current activity and start another one after share intent完成当前活动并在分享意图后开始另一个活动
【发布时间】:2014-10-22 00:36:21
【问题描述】:

我在我的 Android 应用程序中遇到问题,我需要在 twitter 上分享文本并完成当前活动并在分享完成后开始一个新活动我尝试了 startActivityForResult 但它没有任何帮助。

getActivity().getPackageManager().getPackageInfo("com.twitter.android", 0);
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setClassName("com.twitter.android", "com.twitter.android.composer.ComposerActivity");
        intent.setType("text/plain");
        intent.putExtra(Intent.EXTRA_TEXT, url);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        startActivityForResult(intent,0);

【问题讨论】:

  • twitter Activity 没有启动?
  • 推特活动开始了 我需要在分享完成后完成当前活动我该怎么做?

标签: android android-activity share


【解决方案1】:

根据开发者文档

http://developer.android.com/reference/android/content/Intent.html#ACTION_SEND

Action SEND:“将一些数据传递给其他人。未指定将数据传递给谁;由该操作的接收者来询问用户应将数据发送到哪里”。

输出:无。

OnActivityResult 不会给出有关此意图状态的任何输出

【讨论】:

  • 感谢您的评论,但我需要一个解决方案,如何在分享后完成当前活动并开始新的活动?
  • 查看stackoverflow.com/a/17501704/3020568。您需要使用 twitter4j 或类似的东西来实现它
【解决方案2】:

我通过启动新活动然后完成当前活动然后启动 twitter 应用程序并分享我的推文来解决它:

Intent i = new Intent(context,SecondActivity.class);
        startActivity(i);
        getActivity().finish();

        getActivity().getPackageManager().getPackageInfo("com.twitter.android", 0);
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setClassName("com.twitter.android", "com.twitter.android.composer.ComposerActivity");
        intent.setType("text/plain");
        intent.putExtra(Intent.EXTRA_TEXT, url);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        startActivityForResult(intent,0);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多