zoukankan      html  css  js  c++  java
  • android ----- 分享的连接在手机上打开App

    首先做成HTML的页面,页面内容格式如下:

    <a href="[scheme]://[host]/[path]?[query]">启动应用程序</a> 

    这一句就可以了。

    各个项目含义如下所示:

    scheme:判别启动的App。 ※详细后述

    host:适当记述

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

    query:获取值的Key和Value  ※没有也可以

     作为测试好好写了一下,如下:

    <a href="myapp://jp.app/openwith?name=zhangsan&age=26">启动应用程序</a>  

     接下来是Android端。

    首先在AndroidManifest.xml的MAIN Activity下追加以下内容。(启动Activity时给予)

    ※必须添加项

    <intent-filter>  
        <action android:name="android.intent.action.VIEW"/>  
        <category android:name="android.intent.category.DEFAULT" />  
        <category android:name="android.intent.category.BROWSABLE" />  
        <data android:scheme="myapp" android:host="jp.app" android:pathPrefix="/openwith"/>  
    </intent-filter>

    HTML记述的内容加入<data …/>。
    其中必须的内容仅scheme,没有其他内容app也能启动。

    ※注意事项:intent-filter的内容【android.intent.action.MAIN】和 【android.intent.category.LAUNCHER】这2个,不能与这次追加的内容混合。
     所以,如果加入了同一个Activity,请按以下这样做,否则会导致应用图标在桌面消失等问题。

    <intent-filter>  
        <action android:name="android.intent.action.MAIN"/>  
        <category android:name="android.intent.category.LAUNCHER" />  
    </intent-filter>  
    <intent-filter>  
        <action android:name="android.intent.action.VIEW"/>  
        <category android:name="android.intent.category.DEFAULT" />  
        <category android:name="android.intent.category.BROWSABLE" />  
        <data android:scheme="myapp" android:host="jp.app" android:pathPrefix="/openwith"/>  
    </intent-filter> 

    这样的话,没有问题。

     接下来在Activity中需要取值的地方添加以下代码,我是直接写在OnCreate函数里的:

    Intent i_getvalue = getIntent();  
    String action = i_getvalue.getAction();  
      
    if(Intent.ACTION_VIEW.equals(action)){  
        Uri uri = i_getvalue.getData();  
        if(uri != null){  
            String name = uri.getQueryParameter("name");  
            String age= uri.getQueryParameter("age");  
        }  
    }

    这样就能获取到URL传递过来的值了。

  • 相关阅读:
    kubernetes获取Pod内容器信息
    etcd空间配额2G限制优化
    kubernetes集群之GC处理
    kubernetes之statefulset控制器介绍
    基于MySQL Binlog的Elasticsearch数据同步实践
    Nacos
    Python最佳工程实践,建立一个完美的工程项目
    图数据库的内部结构 (NEO4j)
    5个用/不用GraphQL的理由
    Neo4J 查找两节点之间的路径
  • 原文地址:https://www.cnblogs.com/zhangqie/p/10632993.html
Copyright © 2011-2022 走看看