Resumen de los métodos de activación de la aplicación

Para algunos proyectos relativamente grandes, puede haber otras entradas de aplicaciones en el negocio. Generalmente se divide en dos tipos: 1. El SDK de un amigo está incrustado en el proyecto (el SDK que integra parte del negocio) 2. El SDK del amigo que se despierta (principalmente la aplicación instalada), hablemos de despertar hoy dia.

  1. Utilice Intent para despertar por nombre y tipo de paquete:

  La clase de aplicación evocada se configura en manifest.xml:

<actividad android: name = ". MyTestActivity1"   android: exported
   = "true" 
    > 
    <intent-filter> 
        <action android: name = "android.intent.action.MAIN" /> 
        <action android: name = "android.intent .action.VIEW "/> 
        <categoría android: name =" android.intent.category.LAUNCHER "/> 
    </intent-filter> 

</activity>

 Inicio del despertador: com.example.myapplication1 es el nombre del paquete, com.example.myapplication1.MyTestActivity1 es el nombre del paquete. Nombre de la clase

Intención Intención = nueva Intención (); 
intent.setComponent (new ComponentName ("com.example.myapplication1", 
        "com.example.myapplication1.MyTestActivity1")); 
intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity (intención);

 

2. Use Uri para despertar a través de la intención:

<actividad android: name = ". TestActivity3"   android: exported
   = "true" 
    > 
    <intent-filter> <action android: name = "test.action" /> 
        <categoría android: name = "android.intent.category.DEFAULT "/>     <data 
            android: host =" test.uri.activity " 
            android: esquema =" aplicación "/> 
    </intent-filter> 
</activity>
       
    

puesta en marcha:

Uri uri = Uri.parse ("aplicación: //test.uri.activity? Id = 1"); 
Intención intent2 = nueva Intención ("test.action"); 
intent2.setData (uri); 
startActivity (intent2);

La página despierta obtiene los parámetros pasados ​​por Uri:

if (nulo! = intento) { 
    Uri uri = intent.getData (); 
    if (uri == null) { 
        return; 
    } 
    String TAG = "TAG"; 
    if (uri! = null) { 
        // 完整 的 url 信息
        String url = uri.toString (); 
        Log.e (TAG, "url:" + url); 
        // esquema 部分
        String esquema = uri.getScheme (); 
        Log.e (TAG, "esquema:" + esquema); 
        // host 部分
        String host = uri.getHost (); 
        Log.e (TAG, "host:" + host); 
        String data = uri.getQueryParameter ("id"); 
        Toast.makeText (esto, datos, Toast.LENGTH_SHORT) .show (); 
    } 

}

3. Despertar desde el navegador web H5:

1. Primero escriba un pequeño proyecto web, solo tenga una página web como se muestra en la siguiente figura e impleméntela en tomcat:

Abrir este enlace en el navegador es:

Debemos abrir este enlace en el navegador del teléfono móvil, y tiene este aspecto

2. Configuración:

<actividad android: name = ". TestActivity4" android: exported
    = "true" 
    > <intent-filter> 
        <action android: name = "android.intent.action.VIEW" /> 
        <categoría android: name = "android.intent .category.DEFAULT "/> 
        <categoría android: name =" android.intent.category.BROWSABLE "/> 
        <datos android: esquema =" app "android: host =" test.my.app "android: pathPrefix =" / ruta "/> 
    </intent-filter> 
</activity>
   

Una vez completada la configuración, haga clic en "" haga clic en mí ... "" en la página cargada por el navegador móvil para activar.

Correspondiente a esta página para obtener parámetros:

String TAG = "TAG"; 
        Uri uri = getIntent (). GetData (); 
        if (uri! = Null) { 
            // Información completa de la URL 
            String url = uri.toString (); 
            Log.e (TAG, "url:" + url); 
            // parte del esquema 
            String esquema = uri.getScheme (); 
            Log.e (TAG, "esquema:" + esquema); 
            // parte del 
            host String host = uri.getHost (); 
            Log.e (TAG, "host:" + host); 
            // parte del puerto 
// int port = uri.getPort (); 
// Log.e (TAG, "host:" + puerto); 
            // Access Road King 
            String path = uri. getPath (); 
            Log.e (TAG, "ruta:"+ ruta);
            List <String> pathSegments = uri.getPathSegments (); 
            // Parte de 
            la consulta String query = uri.getQuery (); 
            Log.e (TAG, "query:" + query); 
            // Obtiene el valor del parámetro especificado 
            String goodsId = uri . getQueryParameter ("consulta1"); 
            Log.e (TAG, "consulta1:" + GoodsId)

Nota: 1. el esquema, el host y la ruta están todos en minúsculas

            2.El esquema no usa http o https

Supongo que te gusta

Origin blog.csdn.net/lk2021991/article/details/96006211
Recomendado
Clasificación