1

我的代码显示通知栏,当我点击它时它开始下载。唯一的问题是它进入浏览器并从那里开始。我希望下载开始,但它不会进入浏览器。我的代码是:

Intent NotifyIntent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(ApkFileLocation));

                PendingIntent  intent = PendingIntent.getActivity(EnquireActivity.this, 0, NotifyIntent, 0);
                NotificationDetails.setLatestEventInfo(context, ContentTitle, ContentText, intent);

                mNotificationManager.notify(SIMPLE_NOTFICATION_ID, NotificationDetails);
4

1 回答 1

0

通过使用 URL 设置NotifyIntentandroid.content.Intent.ACTION_VIEW,您是在告诉系统,“我不在乎它是如何打开的,所以使用默认行为。”

如果您希望在后台进行下载,您应该实现Service并编写代码以在那里下载文件。然后NotifyIntent指向BroadcastReceiver将启动Service. 该服务应该能够在通知栏中将下载状态显示为“正在进行的”活动(无法关闭)。

编辑:看起来您可以通过这种方式直接使用 Intent 启动服务:

Intent NotifyIntent = new Intent(context, MyService.class);
PendingIntent intent = PendingIntent.getService(context, 0, NotifyIntent, 0);
于 2012-07-24T15:00:19.770 回答