首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android即时应用程序:可以从一个即时功能导航到其他子即时功能吗?

Android即时应用程序:可以从一个即时功能导航到其他子即时功能吗?
EN

Stack Overflow用户
提问于 2017-12-29 14:01:20
回答 2查看 921关注 0票数 0

我计划将当前的应用程序迁移到即时应用程序。所以我想知道是否有可能从一个子即时功能模块导航到另一个即时功能模块。例如,我可能在一个包含关于产品的必要信息的细节特性上,所以如果用户对购买该产品感兴趣,那么我可以将用户导航到支付功能模块( google目前由于业务规则无法满足我的目的),那么这种导航目前在即时模块中支持吗?

EN

回答 2

Stack Overflow用户

发布于 2017-12-30 08:59:37

当然,这是支持的,否则它将是非常有限的使用即时应用程序。

您必须使用AppLinks打开功能模块。在你打完电话后,如果需要的话,Android会下载这个功能。

例如,这是从Google样本中使用的主要特性打开细节特性的流程。

创造意图:

代码语言:javascript
复制
@NonNull
private static Intent getDetailActivityStartIntent(Context context,
                                                   int position,
                                                   PhotoViewHolder holder) {
    final Intent intent = new Intent(Intent.ACTION_VIEW,
            Uri.parse("https://multi-feature.instantappsample.com/detail/" + position));
    intent.setPackage(context.getPackageName());
    intent.addCategory(Intent.CATEGORY_BROWSABLE);

    TextView author =
            holder.itemView.findViewById(com.example.android.unsplash.base.R.id.author);

    // Working around unboxing issues with multiple dex files on platforms prior to N.
    intent.putExtra(IntentUtil.SELECTED_ITEM_POSITION, position);
    intent.putExtra(IntentUtil.FONT_SIZE, author.getTextSize());
    intent.putExtra(IntentUtil.PADDING,
            new Rect(author.getPaddingLeft(),
                    author.getPaddingTop(),
                    author.getPaddingRight(),
                    author.getPaddingBottom()));
    intent.putExtra(IntentUtil.TEXT_COLOR, author.getCurrentTextColor());
    return intent;
}

开始:

代码语言:javascript
复制
final Intent intent = getDetailActivityStartIntent(activity, position, pvh);
final ActivityOptions activityOptions = getActivityOptions(pvh);
activity.startActivityForResult(intent, IntentUtil.REQUEST_CODE, 
    activityOptions.toBundle());

完成结果与非即时应用程序是一样的。

在DetailActivity中设置结果并完成它。在onActivityResult of MainActivity中得到结果。

票数 5
EN

Stack Overflow用户

发布于 2018-01-02 05:14:58

是的,Android即时应用程序支持从一个子即时功能模块导航到另一个即时功能模块。

(例如:详细信息功能->支付功能)

您可以参考谷歌开发者网页

  • 总要考虑你的切入点。
  • 即时应用程序中的每个功能至少有一个作为该功能的入口点的活动。
  • 此外,一个活动不能在即时应用程序中直接启动另一个活动;相反,它必须请求对应于该活动的URL地址。
  • 您可以通过构建意图(请求URL地址)导航;要打开支付功能(Feature2),您可以从详细信息功能(Feature1)中调用此功能。
  • 当用户从即时应用程序请求功能时,他们只收到运行该特定功能所需的代码。
  • 通过这样做,您将遵循入口点的概念。

可以在此GitHub链接上检查与功能导航相关的示例代码示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48023752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档