来自浏览器

时间:2016-06-10 11:37:06

标签: android android-intent browser

在Android中,如果您想发起活动并让该活动返回结果,您可以执行以下操作:

Intent intent = new Intent(this, DisplayMessageActivity.class);
startActivityForResult(intent);

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

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

<a href="intent://HOST/#Intent;scheme=SCHEME;package=com.example.package;end"> Link </a>

问题

您是否可以从浏览器启动活动并让该活动将结果返回给浏览器?

我认为不可能,但如果有人有任何想法,请告诉我。如果您有解释如何执行此操作的来源,我很乐意制作POC并报告我的发现。

3 个答案:

答案 0 :(得分:0)

  

基本上不可能

因为以下问题不明确。

  1. 你将如何处理结果。
  2. 处理结果的地方。

答案 1 :(得分:0)

  

浏览器中的StartActivityForResult是不可能的。

根据chrome开发人员指南,基于intent的URI的基本语法如下:

intent:
   HOST/URI-path // Optional host 
   #Intent; 
      package=[string]; 
      action=[string]; 
      category=[string]; 
      component=[string]; 
      scheme=[string]; 
   end;

它不提供任何回调参数,您可以在其中获得回调,因此不可行。

有关详细信息,请访问https://developer.chrome.com/multidevice/android/intents

答案 2 :(得分:0)

这是不可能的(正如其他人所说)。但是,您可以让{ "took": 68, "timed_out": false, "_shards": {"total": 15, "successful": 15, "failed": 0}, "hits": { "total": 692785, "max_score": 0.48536316, "hits": [ //Some hits... ] }, "aggregations": { //some aggs ... } } 在浏览器中启动一个URL,然后显示“结果”。这是让Activity“返回结果”到浏览器的方法。启动的URL可以是静态HTML页面,也可以是某些JavaScript代码或其他任何内容。