我的代码显示了通知栏,当我点击它时,它开始下载。唯一的问题是它进入浏览器并从那里开始。我想下载开始,但它不会去浏览器。我的代码是:
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);
答案 0 :(得分:0)
通过使用网址将NotifyIntent
设置为android.content.Intent.ACTION_VIEW
,您告诉系统“我不在乎如何打开它,因此请使用默认行为。”
如果您希望在后台进行下载,您应该实现Service
并编写代码以在那里下载文件。然后让NotifyIntent
指向BroadcastReceiver
,它将启动Service
。该服务应该能够在通知栏中显示下载状态为“正在进行”的活动(不能被解雇)。
编辑:看起来你可以用这种方式直接使用Intent启动服务:
Intent NotifyIntent = new Intent(context, MyService.class);
PendingIntent intent = PendingIntent.getService(context, 0, NotifyIntent, 0);