【问题标题】:Android: Call intent after share intentAndroid:共享意图后调用意图
【发布时间】:2016-02-09 08:42:32
【问题描述】:

我正在开发一个应用程序,我在共享意图的帮助下从我的应用程序共享 URL:

final Intent intentShare = new Intent(Intent.ACTION_SEND);
intentShare.setType("text/plain");
intentShare.putExtra(Intent.EXTRA_TEXT, "www.google.com");              
try {
    startActivity(Intent.createChooser(intentShare, "Select an action"));
} catch (android.content.ActivityNotFoundException ex) {
    // (handle error)
}

应用需求是:

通过共享意图共享链接后,应调用新意图以在第二个屏幕上导航。

如何做到这一点?

【问题讨论】:

  • 您可以尝试在 Try 的 finally 块中插入其他意图吗?
  • 只是一个想法:您可以使用 startActivityForResult() 代替 startActivity 并在 onActivityResult() 中调用第二个活动吗?
  • @Ron:最后代码块首先执行然后共享意图。所以没有用。
  • @Christopher - 您的建议不起作用,因为它是明确的意图调用。当使用 Intent.ACTION_SEND 进行显式意图调用时,它将始终返回 RESULT_CANCEL。由于您无法捕获显式活动,因此 ActivityForResult 将无济于事。对我来说,处理显式意图结果的可行性是 NILL,除非您在框架层对您的活动以及显式活动实施一些回调,
  • @Rakesh - 您可以插入额外的 Intent 并检查,而不是检查结果或代码?

标签: android android-intent share android-sharing android-intent-chooser


【解决方案1】:

试试这个:分享后,开始你的第二个活动

  1. 定义一个键:

    private int myKeyForResult = 3;

2 开始您的分享意图以获得结果:

try {
    startActivityForResult(shareIntent, myKeyForResult);
    Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);

} catch (android.content.ActivityNotFoundException ex) {
    // (handle error)
}
  1. 等待分享结果,开始第二个活动:

    @覆盖 public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); myIntent.putExtra("key", value); //可选参数 CurrentActivity.this.startActivity(myIntent); }

【讨论】:

  • 这将我带到下一个屏幕,然后再分享网址。需要在分享网址后将我带到下一个屏幕。
猜你喜欢
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多