Android Scheme URL 使用方法

URL Scheme 介绍

URL Scheme是一种页面内跳转协议,通过定义自己的URL Scheme协议,可以
从一个APP中打开另外一个APP指定的页面,也可以从H5页面中跳转到APP指定的页面(实际上就是从一个浏览器中的一个页面跳转到APP指定页面)。

URL Scheme协议格式

一个完整的完整的URL Scheme协议格式由scheme、host、port、path和query组成,其结构如下所示:

://:/?

实例

schemeService://Host:8080/path?id=true

  • schemeService:即Scheme 该Scheme协议名称
  • Host:即Host,代表Scheme作用于哪个地址域
  • 8080:即port,代表端口号
  • path:即path,代表打开的页面
  • id:代表传递的参数

安卓端配置

AndroidManifest

    
  
            
            
                
                
                
                
                
                
            
        

Activity

 Intent intent = getIntent();
        String scheme = intent.getScheme();
        String dataString = intent.getDataString();
        Uri uri = intent.getData();
        if (uri != null) {
            //完整的url信息
            String url = uri.toString();
            //scheme部分
            String schemes = uri.getScheme();
            //host部分
            String host = uri.getHost();
            //port部分
            int port = uri.getPort();
            //访问路径
            String path = uri.getPath();
            //编码路径
            String path1 = uri.getEncodedPath();
            //query部分
            String queryString = uri.getQuery();
            //获取参数值
            String systemInfo = uri.getQueryParameter("tool_id");
    } 

调用

网页

打开App传入指定参数

安卓

先检查一下是否有效

    private boolean schemeValid() {
        PackageManager manager = mContext.getPackageManager();
        Intent action = new Intent(Intent.ACTION_VIEW);
        action.setData(Uri.parse("caishilive://caishi:8080/loadtooldetail?tool_id=100"));
        List list = manager.queryIntentActivities(action, PackageManager.GET_RESOLVED_FILTER);
        return list != null && list.size() > 0;
    }

跳转

     Intent action = new Intent(Intent.ACTION_VIEW);
     StringBuilder builder = new StringBuilder();
     builder.append("schemeService://Host:8080/path?id=true");
     action.setData(Uri.parse(builder.toString()));
     startActivity(action);

你可能感兴趣的:(Android Scheme URL 使用方法)