[我也面临同样的问题,在stackoverflow上已经报道过][1]当在8.1.0中启动地面服务时,我收到了应用程序崩溃的通知。错误日志也在下面。它在Android8.0和Android9中运行良好。任何人都面临这个问题。
private void createNotificationChannel() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel serviceChannel = new NotificationChannel(
CHANNEL_ID,
"Foreground Service Channel",
NotificationManager.IMPORTANCE_DEFAULT
);
NotificationManager manager = getSystemService(NotificationManager.class);
manager.createNotificationChannel(serviceChannel);
}
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
String input = intent.getStringExtra("inputExtra");
createNotificationChannel();
Intent notificationIntent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this,
0, notificationIntent, 0);
Notification notification = new NotificationCompat.Builder(this, CHANNEL_ID)
.setContentTitle("Foreground Service")
.setContentText(input)
.setSmallIcon(R.drawable.ic_stat_name)
.setContentIntent(pendingIntent)
.build();
startForeground(1, notification);
//do heavy work on a background thread
//stopSelf();
return START_NOT_STICKY;
}
误差
android.app.RemoteServiceException: Bad notification for startForeground: java.lang.RuntimeException: invalid channel for service notification: Notification(channel=null pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x40 color=0x00000000 vis=PRIVATE)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6626)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:811)
[1]: https://stackoverflow.com/questions/47531742/startforeground-fail-after-upgrade-to-android-8-1
private void createNotificationChannel() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel serviceChannel = new NotificationChannel(
CHANNEL_ID,
"Foreground Service Channel",
NotificationManager.IMPORTANCE_DEFAULT
//Try adding this line inside If condition.
NotificationManager manager = getSystemService(NotificationManager.class);
manager.createNotificationChannel(serviceChannel);
);
}
}
问题内容: 我正在尝试在收到C2DM消息时显示一个简单的通知。服务提供给UI,但仍在主线程上运行。我见过有人声称您可以通过服务创建和显示通知。 } 我不知道为什么会抛出该异常。 问题答案: 首先,引发异常是因为创建的通知没有引用该对象的视图对象(contentView属性设置为null)。您必须在显示通知之前调用setLatestEventInfo。 其次,不赞成使用您使用的构造函数。请使用Not
我是的新手,虽然我阅读了基本文档,并尝试部署一个简单的Spring BootAPI,但我可能缺少很多东西 我已经将API部署为.jar文件,然后安装并使用以下命令推送它: 然后使用docker命令启动API: 当我访问localhost:7777/hello时,我得到了所需的响应 这是我的 根据这个应答的命令,发布这个命令以获取 因此,我使用运行它,得到了这个错误 如果我设法获得,我是否能够访问它
尊敬的各位站长您好, MIP Cache 服务至目前为止已上线了三年多,为 Web 生态输出了优质资源和更为快速的网页浏览体验。但由于业务调整,MIP Cache 服务将在近期下线,下线内容包括: 1、关闭百度搜索资源平台(ziyuan.baidu.com)的 MIP 入口; 2、逐步清退下线 MIP Cache 服务。 此次下线所带来的影响仅在于,从百度搜索结果页点击跳转至符合 MIP 标准的网
在开发机的Web服务器上托管一个站点,然后在Android设备上访问站点内容。 通过USB数据线和Chrome DevTools,您可以在开发机上运行站点,然后在Android设备上查看该网站。 TL;DR 端口转发可以使你在Android设备上查看开发机Web服务器中的内容。 如果你的Web服务器使用自定义域,您可以将Android设备设置为使用自定义域映射访问该域中的内容。 设置端口转发 端口
所有的 我编写了一个服务来更新系统状态,我使用start Foreground将服务放在前台,还向其添加了通知。在通知中,我使用remoteView拥有三个带有三个OnClickPendingIntent的图像。其中一个正在发送回服务,并执行通知更新代码。 创建通知的代码: 接收到意图后更新通知的代码: 我的问题是:调用我的更新功能后,通知图像实际上发生了更改;然而,通知面板仍然存在!!它不会像开
这是我的docker-compose.yml代码: 下面是我的traefik.toml代码: