Android 13 启动 App 的几种方式

作为一名经验丰富的开发者,我将教你如何实现在 Android 13 上启动 App 的几种方式。下面是整个流程的步骤:

步骤 操作
1 使用 Intent 启动 App
2 使用深层链接启动 App
3 使用通知栏启动 App
4 使用 URI Scheme 启动 App
5 使用应用小工具启动 App

现在我们逐步来看每个步骤需要做什么以及相应的代码。

1. 使用 Intent 启动 App

要使用 Intent 启动 App,你需要创建一个 Intent 对象,并设置需要启动的组件的包名和类名。接下来,调用 startActivity() 方法来启动应用。

Intent intent = new Intent();
intent.setClassName("com.example.app", "com.example.app.MainActivity");
startActivity(intent);

这段代码创建了一个 Intent 对象,并设置要启动的组件的包名为 com.example.app,类名为 com.example.app.MainActivity。然后,调用 startActivity() 方法来启动 App。

2. 使用深层链接启动 App

深层链接是一个特殊的链接,可以直接跳转到 App 的指定页面。你需要在 Manifest 文件中注册一个 <intent-filter>,并指定链接的 scheme 和 host。然后,在需要启动的页面中,通过获取 Intent 的数据来处理相应的逻辑。

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <data
            android:scheme="http"
            android:host="example.com"
            android:path="/page1" />
    </intent-filter>
</activity>

上面的代码片段注册了一个 MainActivity,并指定了一个深层链接,scheme 为 http,host 为 example.com,路径为 /page1。当用户点击这个链接时,系统会自动跳转到指定的页面。

3. 使用通知栏启动 App

要使用通知栏启动 App,你需要创建一个通知,并设置点击通知时启动的 Intent。然后,调用 NotificationManager.notify() 方法来显示通知。

NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.notification_icon)
        .setContentTitle("My Notification")
        .setContentText("Hello World!")
        .setAutoCancel(true);

Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(pendingIntent);

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(1, builder.build());

这段代码创建了一个通知,并设置了小图标、标题和内容。然后,创建一个 Intent 对象,并将其与启动的 Activity 绑定。最后,通过调用 notify() 方法,显示通知。

4. 使用 URI Scheme 启动 App

URI Scheme 是一种通过 URI 来启动 App 的方式。你需要在 Manifest 文件中注册一个 <intent-filter>,并指定一个特定的 scheme。然后,在需要启动的页面中,通过获取 Intent 的数据来处理相应的逻辑。

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <data
            android:scheme="myapp"
            android:host="openactivity" />
    </intent-filter>
</activity>

上面的代码片段注册了一个 MainActivity,并指定了一个 URI Scheme,scheme 为 myapp,host 为 openactivity。当用户点击特定的链接时,系统会自动跳转到指定的页面。

5. 使用应用小工具启动 App

应用小工具是 Android 上的一种常见功能,你可以在桌面上放置一个小工具,点击它可以直接启动 App。你需要在 Manifest 文件中注册一个 <receiver>,并指定小工具对应的布局和点击事件。

<receiver android:name=".MyAppWidgetProvider">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    </intent-filter>
    <meta-data
        android:name="