Use Uri para iniciar implícitamente la actividad y pasar parámetros

Para permitir que otras aplicaciones salten a una determinada actividad de esta aplicación y pasen parámetros, puede usar Uri para lograrlo implícitamente. Métodos de la siguiente manera:

1. Agregue la etiqueta de filtro de intención en AndroidManifest.xml:

<activity
    android:name=".ui.MainActivity"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <!-- 在data里设置了scheme和host,则该Activity可以接收和处理类似于"data://main/XXX"的链接 -->
        <data
            android:host="main"
            android:scheme="data" />
    </intent-filter>
</activity>

2. Agregue la lógica de analizar parámetros en el onCreate de la clase Activity:

Uri uri = getIntent().getData();
if (uri != null) {
    // 通过隐式方式跳转而来
    String id = uri.getQueryParameter("id");
    String name = uri.getQueryParameter("name");
    // 逻辑处理
}

3. Lógica al saltar en otras aplicaciones:

Uri uri = Uri.parse("data://main/?id=id1&name=name1");
Intent intent = new Intent(null, uri);
startActivity(intent);

 

Supongo que te gusta

Origin blog.csdn.net/chenzhengfeng/article/details/104373577
Recomendado
Clasificación