从通知中打开PDF - 单击通知时没有任何反应

时间:2017-06-23 10:53:26

标签: android xamarin.android android-notifications android-pendingintent

我正在尝试使用我的Xamarin Android应用程序打开从服务器下载的PDF文件。在下载时,我使用NotificationCompat.Builder在系统托盘中显示进度通知,这很有效。然后,一旦下载完成,我会显示另一个通知(替换进度),说它已完成,我正在尝试对其应用意图,因此它可以启动设备的默认PDF查看器。

我正在这样处理:

var notificationService = (NotificationManager)GetSystemService(NotificationService);
var builder = new NotificationCompat.Builder(ApplicationContext);
builder.SetContentTitle("Download PDF");
builder.SetContentText("Downloading...");
builder.SetProgress(100, 0, true);
builder.SetSmallIcon(Resource.Mipmap.icon);
notificationService.Notify(1337, builder.Build());

Task.Run(async () =>
{
    await MyAsyncPdfDownloadMethod(filePath);
    RunOnUiThread(() => //apparently not necessary, same result with and without it
    {
        builder.SetContentText("Download completed");
        builder.SetProgress(0, 0, false);
        var notificationIntent = new Intent(Intent.ActionView, Android.Net.Uri.Parse(filePath));
        notificationIntent.SetDataAndType(Android.Net.Uri.Parse(filePath), "application/pdf");
        notificationIntent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.SingleTop | ActivityFlags.NewTask);
        builder.SetContentIntent(PendingIntent.GetActivity(this, 0, notificationIntent, 0));
        builder.SetAutoCancel(true);
        notificationService.Notify(1337, builder.Build());
    });
});

当通知出现时,我点击它,它就会消失,这是由于SetAutoCancel的预期行为。但仍然,它关闭系统托盘,然后..没有。无论我还在我的应用程序或主屏幕上,都没有。

我进入了保存文件的下载文件夹,它就在这里,我点击它就可以正确打开它。

我可能错过了一些东西,但我不知道它是什么。有线索吗?

0 个答案:

没有答案