通过点击网页中支付功能开启本地android应用

来源:互联网 发布:google日语输入法mac 编辑:程序博客网 时间:2024/04/30 00:31

1.1新建android应用,命名为demo,在MainActivity.java中使用控件WebView打开盛大云测试URL:http://m.grandcloud.cn/,即可在手机端访问盛大云测试网站。

1.2在android应用AndroidManifest.xml中想要启动的Activity中加入如下代码(这里是TestActivity.java):

<intent-filter> 

    <actionandroid:name="android.intent.action.VIEW"/>  

    <categoryandroid:name="android.intent.category.DEFAULT" />  

    <categoryandroid:name="android.intent.category.BROWSABLE" />  

   <data android:scheme="myapp"android:host="jp.app" android:pathPrefix="/openwith"/> 

</intent-filter>

其中,各个项目含义如下所示:

scheme:判别启动的App,该项必须填写

host:适当记述,该项可以不填写

path:传值时必须的key,没有也可以

query:获取值的KeyValue,没有也可以

1.3 web端搭建了测试后台,在jsp页面中加入启动应用链接并传入参数,如下所示:

<a href=”myapp://jp.app/openwith?username=zhangsan&userpass=123”>打开app</a>

1.4 运行测试后台,点击打开app,即可调用应用中TestActivity.java,并且在该Activity中可以接收参数,代码如下:

Intent i_getvalue =getIntent(); 

              String action =i_getvalue.getAction(); 

               

              if(Intent.ACTION_VIEW.equals(action)){ 

                 Uri uri = i_getvalue.getData(); 

                 if(uri !=null){ 

                      String username =uri.getQueryParameter("username"); 

                      String userpass= uri.getQueryParameter("userpass"); 

                     

                      username_tv.setText(username);

                      userpass_tv.setText(userpass);

                     

                      Toast.makeText(TestActivity.this, username+""+userpass, Toast.LENGTH_SHORT).show();

                 } 

              }

第一步经过测试成功,即在手机端网页中点击链接是可以开启本地应用组件,并且接收参数,这样就可以进行下一步调用微信进行在线支付了。

0 0