Résumé des méthodes de réveil de l'APP

Pour certains projets relativement importants, il peut y avoir d'autres entrées APP dans l'entreprise. Généralement divisé en deux types: 1. Le SDK d'un ami est embarqué dans le projet (le SDK qui intègre une partie de l'entreprise) 2. Le SDK de l'ami qui est réveillé (principalement l'application installée), parlons de se réveiller aujourd'hui.

  1. Utilisez Intent pour vous réveiller par nom et type de package:

  La classe APP évoquée est configurée dans manifest.xml:

<activity android: name = ". MyTestActivity1"   android: exports
   = "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>

 Début du réveil: com.example.myapplication1 est le nom du package, com.example.myapplication1.MyTestActivity1 est le nom du package. Nom de la classe

Intent intent = new Intent (); 
intent.setComponent (new ComponentName ("com.example.myapplication1", 
        "com.example.myapplication1.MyTestActivity1")); 
intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity (intention);

 

2. Utilisez Uri pour vous réveiller via l'intention:

<activity android: name = ". TestActivity3"   android: exports
   = "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>
       
    

Commencez:

Uri uri = Uri.parse ("app: //test.uri.activity? Id = 1"); 
Intent intent2 = new Intent ("test.action"); 
intent2.setData (uri); 
startActivity (intent2);

La page éveillée obtient les paramètres passés par Uri:

if (null! 
    = intent ) { Uri uri = intent.getData (); 
    if (uri == null) { 
        return; 
    } 
    String TAG = "TAG"; 
    if (uri! = null) { 
        // 完整 的 url 信息
        String url = uri.toString (); 
        Log.e (TAG, "url:" + url); 
        // schéma 部分
        String schéma = uri.getScheme (); 
        Log.e (TAG, "schéma:" + schéma); 
        // hôte 部分
        String host = uri.getHost (); 
        Log.e (TAG, "hôte:" + hôte); 
        Données de chaîne = uri.getQueryParameter ("id"); 
        Toast.makeText (ceci, données, Toast.LENGTH_SHORT) .show (); 
    } 

}

3. Réveillez-vous à partir du navigateur Web H5:

1. Commencez par écrire un petit projet Web, ayez simplement une page Web comme indiqué dans la figure ci-dessous et déployez-la sur tomcat:

Ouvrez ce lien sur le navigateur est:

Nous devons ouvrir ce lien dans le navigateur du téléphone mobile, et cela ressemble à ceci

2. Configuration:

<activity android: name = ". TestActivity4" android: exports
    = "true" 
    > <intent-filter> 
        <action android: name = "android.intent.action.VIEW" /> 
        <category android: name = "android.intent .category.DEFAULT "/> 
        <catégorie android: name =" android.intent.category.BROWSABLE "/> 
        <data android: scheme =" app "android: host =" test.my.app "android: pathPrefix =" / chemin "/> 
    </intent-filter> 
</activity>
   

Une fois la configuration terminée, cliquez sur "" cliquez sur moi ... "" sur la page chargée par le navigateur mobile pour vous réveiller.

Correspondant à cette page pour obtenir les paramètres:

String TAG = "TAG"; 
        Uri uri = getIntent (). GetData (); 
        if (uri! = Null) { 
            // Informations complètes sur l'url 
            String url = uri.toString (); 
            Log.e (TAG, "url:" + url); 
            // partie du schéma 
            String schéma = uri.getScheme (); 
            Log.e (TAG, "schéma:" + schéma); 
            // partie 
            hôte String host = uri.getHost (); 
            Log.e (TAG, "host:" + host); 
            // partie du port 
// int port = uri.getPort (); 
// Log.e (TAG, "host:" + port); 
            // Access Road King 
            String path = uri. getPath (); 
            Log.e (TAG, "chemin:"+ chemin);
            List <String> pathSegments = uri.getPathSegments (); 
            // Query part 
            String query = uri.getQuery (); 
            Log.e (TAG, "query:" + query); 
            // 
            Obtient la valeur de paramètre spécifiée String goodsId = uri . getQueryParameter ("query1"); 
            Log.e (TAG, "query1:" + goodsId)

Remarque: 1. schéma, hôte, chemin sont tous en minuscules

            2. schéma ne pas utiliser http ou https

Je suppose que tu aimes

Origine blog.csdn.net/lk2021991/article/details/96006211
conseillé
Classement