安卓通过url打开app,以及下载对应app

编程知识 更新时间:2023-05-02 19:38:28

一.使用Custom Scheme URI打开APP

此红色部分(自定义Uri)引用的博客是:http://blog.csdn/buptlzx/article/details/9837137

    就Android平台而言,URI主要分三个部分:scheme, authority and path。其中authority又分为host和port。格式如下:

scheme://host:port/path
举个实际的例子:
content://com.example.project:200/folder/subfolder/etc ?arg0=1&arg1=2
———/ —————————/ —/ ————————–/ ————————–/(query我们要传的值)
scheme host port path (我们要传的值如果是传多个值使用&)
——————————–/
authority

  1. android代码而言:主要有两块一部分是注册文件如下。
            <intent-filter>
                <data
                    android:host="com.example.project"
                    android:port="200"
                    android:scheme="content" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>

2.另一部分就是app首页解析网页代码如下。

 Intent intent = getIntent();  
        Uri uri=intent.getData();  
        if(uri!=null){  
            String name=uri.getQueryParameter("arg0");  
            String name1=uri.getQueryParameter("arg1");  
            String scheme= uri.getScheme();  
            String host=uri.getHost();  
            String port=uri.getPort()+"";  
            String path=uri.getPath();  
            String query=uri.getQuery();  
        }

二.通过包名打开第三方app,如果没有包名就去指定地址下载对应的app

    try {
            Intent intent = wm.getPackageManager().getLaunchIntentForPackage(appPackageName);
            Bundle bundle = new Bundle();
            bundle.putString("s","d");
            intent.putExtras(bundle);
            wm.startActivity(intent);
            return;
        } catch (Exception e) {
            downloadAddress = downloadAdd;
            BaseDialog dialog = new BaseDialog();
            dialog.setTitle("提示");
            dialog.setContent("您还未下载“" + DelegateDataBase.ENTRUST_LIST[index] + "”是否进行下载?");
            dialog.setConfirm("下载", new BaseDialog.DialogListener() {
                @Override
                public void onListener() {
                        Uri uri = Uri.parse(downloadAddress.toString());
                        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
                        wm.startActivity(intent);
                    }

            });
            dialog.setCancel("取消", null);
            dialog.show(wm);
        }

更多推荐

安卓通过url打开app,以及下载对应app

本文发布于:2023-04-28 08:23:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/863a7b1483bcf2f32609e6df72899c1e.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:url   app

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 108088文章数
  • 27322阅读数
  • 0评论数