点击apple watch推送通知问题



我有一个苹果手表应用程序,它不是独立于iPhone的,我在手表上成功收到推送通知。

然而,点击推送通知总是会打开手表应用程序。我不想在手表应用程序中处理此问题。有办法做到这一点吗?有没有办法不打开手表应用程序?

我曾尝试在WKExtensionDelegate中使用handleAction()函数,但这些函数现在显然已被弃用,而且从未被解雇。

这可能是不可能的。它依赖于操作系统。

可能的原因是通知用户通常点击并打开应用程序。这可能也违反了苹果应用程序阻止应用程序打开的指导方针。

然而,您可以尝试这些:

这是一个带有通知的前台服务的示例。

public class UploadService extends IntentService{

private NotificationCompat.Builder mBuilder;

public UploadService() {
super("UploadService");
}

@Override
protected void onHandleIntent(Intent intent) {
Intent deleteIntent = new Intent(this, CancelUploadReceiver.class);
PendingIntent pendingIntentCancel = PendingIntent.getBroadcast(this, 0, deleteIntent, PendingIntent.FLAG_UPDATE_CURRENT);

//building the notification
mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(android.R.drawable.ic_menu_upload)
.setContentTitle("Uploading Media...")
.setTicker("Starting uploads")
.addAction(android.R.drawable.ic_menu_close_clear_cancel, "Cancel Upload", pendingIntentCancel);

Intent notificationIntent = new Intent(this, MainActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(pendingIntent);
mBuilder.setProgress(100, 0, true);

startForeground(12345, mBuilder.build());

for(int i=0;i<10;i++){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}

}

}

您需要在清单文件中注册CancelUploadReceiver。

<receiver android:name=".CancelUploadReceiver"/>

当点击"取消上传"时,它将接收广播。然后我们可以简单地停止服务。

public class CancelUploadReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {
Intent service = new Intent();
service.setComponent(new ComponentName(context,UploadService.class));
context.stopService(service);
}

}

另一个选项可能是创建一个实现UINotificationContentExtension协议的自定义接口。

相关:

  • 当用户按下通知横幅时,您可以禁用应用程序打开机制吗
  • 如何在用户点击推送通知时禁用打开应用程序
  • 不打开应用程序的iOS通知操作
  • 在iOS中点击推送通知时,是否可以避免向用户显示应用程序
  • 不打开应用程序的Android通知操作
  • 带有操作的Andriod通知

相关内容

  • 没有找到相关文章

最新更新