Resumo dos métodos de ativação do APP

Para alguns projetos relativamente grandes, pode haver outras entradas de APP no negócio. Geralmente dividido em dois tipos: 1. O SDK de um amigo está embutido no projeto (o SDK que integra parte do negócio) 2. O SDK do amigo que está desperto (principalmente o aplicativo instalado), vamos falar sobre o despertar hoje.

  1. Use Intent para despertar por nome e tipo de pacote:

  A classe APP evocada é configurada em manifest.xml:

<activity android: name = ". MyTestActivity1"   android: export
   = "true" 
    > 
    <intent-filter> 
        <action android: name = "android.intent.action.MAIN" /> 
        <action android: name = "android.intent .action.VIEW "/> 
        <category android: name =" android.intent.category.LAUNCHER "/> 
    </intent-filter> 

</activity>

 Início do despertar: com.example.myapplication1 é o nome do pacote, com.example.myapplication1.MyTestActivity1 é o nome do pacote. Nome da classe

Intent intent = novo Intent (); 
intent.setComponent (new ComponentName ("com.example.myapplication1", 
        "com.example.myapplication1.MyTestActivity1")); 
intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity (intenção);

 

2. Use o Uri para acordar via intent:

<activity android: name = ". TestActivity3"   android: export
   = "true" 
    > 
    <intent-filter> <action android: name = "test.action" /> 
        <category android: name = "android.intent.category.DEFAULT "/>     <data 
            android: host =" test.uri.activity " 
            android: scheme =" app "/> 
    </intent-filter> 
</activity>
       
    

comece:

Uri uri = Uri.parse ("app: //test.uri.activity? Id = 1"); 
Intent intent2 = novo Intent ("test.action"); 
intent2.setData (uri); 
startActivity (intenção2);

A página despertada obtém os parâmetros passados ​​por Uri:

if (null! = intenção) { 
    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 部分
        Esquema de strings = uri.getScheme (); 
        Log.e (TAG, "esquema:" + esquema); 
        // host 部分
        String host = uri.getHost (); 
        Log.e (TAG, "host:" + host); 
        String data = uri.getQueryParameter ("id"); 
        Toast.makeText (this, data, Toast.LENGTH_SHORT) .show (); 
    } 

}

3. Desperte a partir do navegador H5:

1. Primeiro escreva um pequeno projeto da web, apenas tenha uma página da web conforme mostrado na figura abaixo e implante-o no tomcat:

Abra este link no navegador:

Devemos abrir este link no navegador do celular, e se parece com este

2. Configuração:

<activity android: name = ". TestActivity4" android: export
    = "true" 
    > <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 =" app "android: host =" test.my.app "android: pathPrefix =" / caminho "/> 
    </intent-filter> 
</activity>
   

Depois que a configuração estiver concluída, clique em "" click me ... "" na página carregada pelo navegador móvel para reativar.

Correspondente a esta página para obter os parâmetros:

String TAG = "TAG"; 
        Uri uri = getIntent (). GetData (); 
        if (uri! = Null ) { 
            // Informações completas do url 
            String url = uri.toString (); 
            Log.e (TAG, "url:" + url); 
            // parte do esquema 
            String scheme = uri.getScheme (); 
            Log.e (TAG, "scheme:" + scheme); 
            // parte do 
            host String host = uri.getHost (); 
            Log.e (TAG, "host:" + host); 
            // parte da porta 
// int port = uri.getPort (); 
// Log.e (TAG, "host:" + porta); 
            // Access Road King 
            String path = uri. getPath (); 
            Log.e (TAG, "caminho:"+ caminho);
            List <String> pathSegments = uri.getPathSegments (); 
            // Parte da 
            consulta String query = uri.getQuery (); 
            Log.e (TAG, "query:" + query); 
            // Obtenha o valor do parâmetro especificado 
            String goodsId = uri . getQueryParameter ("query1"); 
            Log.e (TAG, "query1:" + goodsId)

Nota: 1. esquema, host, caminho estão todos em letras minúsculas

            2.scheme não use http ou https

Acho que você gosta

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