隔壁的
隔壁的
  • 发布:2015-09-06 10:30
  • 更新:2017-08-29 15:10
  • 阅读:4521

求解安卓调起第三方APP的时候如何传递参数给对方?

分类:HTML5+

如题,IOS的根据示例里面看到了可以传一个action。plus.runtime.launchApplication()方法里面跟上

action : gaming://login?u=[username]&p=[password]&pid=[pid]

就可以把自己这边的username和password传给对方,直接在对方的app里面就登录了。

但是安卓里面仅仅就是可以调起第三方的APP,不知道怎么传递参数,才可以让其自动登录。

求解释。谢谢大神。

2015-09-06 10:30 负责人:无 分享
已邀请:
隔壁的

隔壁的 (作者)

官方有没有大神回复下,能就能,不能就不能。给我个答复吧,免得我再在这上面花心思。来人好么?

Rere

Rere

非大神。

如果第三方app也是你写的,或者两个app已经约定好参数传递的方式,实质是可以的。

下面给出我自己一个app跳转到另一个app,并进行参数传递的方法。

方法一,使用Intent(就像跳转一个Activity那样去跳转就行了):

Intent intent = new Intent("com.example.****.filter");//对应被调起的主Activity的filter,或者用Activity也行  
Bundle bundle = new Bundle();  
bundle.putString("param", param);  
intent.putExtras(bundle);  
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);// 如果对方已启动,直接用那个task,略暴力(会导致已启动的app的状态处于初始化状态)  
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);  

接受方使用常规的getIntent就能拿到参数了。

方法二,使用scheme+host,(刚学的,让html调起用):
m://my.com/?arg0=0&arg1=1

被调起的app需要在manifest注册对应的scheme+host,
<data
android:host="my.com"
android:scheme="m" />

参数则通过arg等键值对传递。
接收方用这种方法解析(当然可以在这里get出host和scheme,再进行精确匹配)

Uri uri = getIntent().getData();
String test1= uri.getQueryParameter("arg0");
String test2= uri.getQueryParameter("arg1");

实质上关键是你那个被调起的app要跟你约定好,自己做的app就什么都好,第三方app通常都会给出接口的。关键还是要约定好,只有你一边想实现,还是不太行。

(新手第一答,不太会用格式刷。。)

  • n***@gmail.com

    在hbuilder的app里通过plus.runtime.launchApplication传递的值如何在android里接收参数

    2016-11-01 17:35

小明子

小明子

请问楼主你是否已经解决安卓传参无法获取的问题????

该问题目前已经被锁定, 无法添加新回复