gpt4 book ai didi

android - 如何在通知点击时正确打开文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:09:05 26 4
gpt4 key购买 nike

我正在使用 IntentService 从 Internet 加载文件,并在下载过程中显示 Notification。下载完成后,我需要能够单击通知以在适当的应用程序中打开下载的文件。这是我为此使用的代码:

Intent intent = IntentUtils.getOpenFileIntent(task.getTargetFolder()
+ File.separator + task.getFileNode().getName());
TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(this);
taskStackBuilder.addParentStack(MainActivity.class);
taskStackBuilder.addNextIntent(intent);
PendingIntent pi = taskStackBuilder.getPendingIntent(0,
PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(pi);

下面是我创建 Intent 的方式:

public static Intent getOpenFileIntent(String path) {
File file = new File(path);
Uri uri = Uri.fromFile(file);
MimeTypeMap mime = MimeTypeMap.getSingleton();
String extension = fileExt(path);
String type = mime.getMimeTypeFromExtension(extension);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, type);
return intent;
}

问题是点击通知会关闭任何当前打开的应用程序。我只需要在当前打开的应用程序上显示应用程序选择器。我认为问题在于 TaskStackBuilder 的使用,但没有其他方法可以为 ACTION_VIEW Intent 创建 PendingIntent 实例。

最佳答案

您需要创建PendingIntent 并设置为您的Notification

PendingIntent contentIntent = PendingIntent.getActivity(this, 0,intent, PendingIntent.FLAG_CANCEL_CURRENT)

有关更多信息,请访问 http://developer.android.com/guide/topics/ui/notifiers/notifications.html

关于android - 如何在通知点击时正确打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22554379/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com