la página web se abre Android APP

principio analítico

En cuanto a la plataforma Android, URI divide en tres partes:
esquema, la autoridad, el recorrido de
las cuales la autoridad se divide en host y el puerto. Formato es el siguiente:

<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>]

En correspondencia con el manifiesto <data>configurado de la siguiente manera:

<data android:host=""
      android:mimeType=""
      android:path=""
      android:pathPattern=""
      android:pathPrefix=""
      android:port=""
      android:scheme=""
      android:ssp=""
      android:sspPattern=""
      android:sspPrefix=""/>

Donde el esquema es ser parámetros, si no se especifica, otros atributos que son! Inválida
Si no se especifica el host, el puerto, la ruta, Pathprefix, pathPattern no son válidos!

Nuestra utilizado más comúnmente scheme, host, port, pathcuatro configuraciones.

implementación

En primer lugar, AndroidManifesten MainActivityla adición de uno <intent-filter>:

<intent-filter>  
      <action android:name="android.intent.action.VIEW" />  
      <category android:name="android.intent.category.BROWSABLE" />  
      <category android:name="android.intent.category.DEFAULT"/>  
      <data android:scheme="protocol" android:host="domain" android:pathPrefix="/link" />  
  </intent-filter>  

A continuación, agregue un enlace en su página web:

<a href="protocol://domain/link>打开app</a>

Por último, haga clic en un enlace, si la aplicación es expulsado con éxito, entonces felicitaciones, usted tuvo éxito.

expandir

Abre la aplicación puede no ser lo suficientemente ligero, a veces tenemos que la transferencia de datos, la forma de pasar los datos a ella?

Podemos utilizar el método anterior, algunos datos a la aplicación, a continuación, vincular a cambiarlo:

<a href="protocol://domain/link?id=123>打开app并传递id</a>

A continuación, agregue el código en el método MainActivity onCreate en la aplicación:

Uri uri = getIntent().getData();  
String id= uri.getQueryParameter("id");  

Esto permite que la transferencia de datos!

Si la vista web dentro de la aplicación, las operaciones de adquisición de datos de:

webView.setWebViewClient(new WebViewClient(){
  @Override
  public boolean shouldOverrideUrlLoading(WebView view, String url) {
    Uri uri=Uri.parse(url);
      if(uri.getScheme().equals("protocol")&&uri.getHost().equals("domain")){
        String id = uri.getQueryParameter("id");
          }else{
              view.loadUrl(url);
          }
        return true;
  }
});

API

getScheme(); //获得Scheme名称 

getDataString(); //获得Uri全部路径 

getHost(); //获得host

Una el API oficial uri enlace
https: //developer.android.com ...

comentarios bienvenidos

Supongo que te gusta

Origin www.cnblogs.com/homehtml/p/12505749.html
Recomendado
Clasificación