Android 来自浏览器的StartActivityForResult

Android 来自浏览器的StartActivityForResult,android,android-intent,browser,Android,Android Intent,Browser,在Android中,如果你想启动一个活动并让该活动返回结果,你可以这样做: Intent intent = new Intent(this, DisplayMessageActivity.class); startActivityForResult(intent); <a href="intent://HOST/#Intent;scheme=SCHEME;package=com.example.package;end"> Link </a> 及 如果希望从浏览器启动

在Android中,如果你想启动一个活动并让该活动返回结果,你可以这样做:

Intent intent = new Intent(this, DisplayMessageActivity.class);
startActivityForResult(intent);
<a href="intent://HOST/#Intent;scheme=SCHEME;package=com.example.package;end"> Link </a>


如果希望从浏览器启动活动,可以编写如下HTML:

Intent intent = new Intent(this, DisplayMessageActivity.class);
startActivityForResult(intent);
<a href="intent://HOST/#Intent;scheme=SCHEME;package=com.example.package;end"> Link </a>


问题

能否从浏览器启动活动,并让该活动将结果返回到浏览器

我认为这是不可能的,但如果有人有任何想法,请告诉我。如果你有一个来源解释如何做到这一点,我很高兴做一个POC并报告我的发现

基本上这是不可能的

由于以下问题尚不清楚

  • 你将如何处理结果
  • 处理结果的地方
  • 无法从浏览器获得StartActivityForResult

    根据《chrome开发者指南》,基于意图的URI的基本语法如下:

    intent:
       HOST/URI-path // Optional host 
       #Intent; 
          package=[string]; 
          action=[string]; 
          category=[string]; 
          component=[string]; 
          scheme=[string]; 
       end;
    
    它不提供任何回调参数,您可以在其中获取回调,因此不可行。


    有关更多详细信息,请访问,这是不可能的(如其他人所述)。但是,您可以让您的
    活动
    在浏览器中启动一个URL,然后显示“结果”。这是一种让您的
    活动
    向浏览器“返回结果”的方法。启动的URL可以是静态HTML页面,或一些JavaScript代码或其他任何内容。

    Android浏览器可能会启动activityForResult,然后调用您以某种方式注册的JavaScript函数。从技术上讲,浏览器可以做类似的事情。