【发布时间】:2021-08-05 21:52:30
【问题描述】:
在android中,它可以设置deeplink在收到推送通知时启动一个Activity。
<activity
android:name=".ActivityForTestAction"
android:launchMode="singleTop"
>
<intent-filter >
<action android:name="demoapp.action.WRITE_TO_DATABASE" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="demoapp"
android:host="www.demoapp.com"
android:pathPrefix="/test" />
</intent-filter>
它只会使用“demoapp.action.WRITE_TO_DATABASE”和正确的 Uri 构建通知:
Intent intent = new Intent("demoapp.action.WRITE_TO_DATABASE");
intent.setData(Uri.parse("demoapp://www.demoapp.com/test"));
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
builder = new Notification.Builder(context)
.setContentIntent(pendingIntent)
... ...;
Notification notification = builder.build();
notificationManager.notify(100, notification);
如果点击通知,它将打开ActivityForTestAction。
但是,也有一些推送通知不需要任何ui(Activity)的情况,例如只需要写入数据库。
那么有没有办法仍然执行“深度链接”但实例化类并在那里运行操作?
【问题讨论】:
标签: android-notifications android-deep-link