求大神帮忙看看,关于android service

bagwell909 2016-10-07 10:35:47
用mqtt做消息推送,网上找了一个AndroidPushNotificationsDemo,在sdkversion 22以下都能运行,但我程序本身是24版本的,我把这个demo改到24,其中setLatestEventInfo不能使用,就改用Notification.Builder来创建 notification 实例,但是用不了,求大神帮忙看看这是什么问题
10-07 10:25:59.962 6811-6811/com.tokudu.demo W/System.err: com.ibm.mqtt.MqttException
10-07 10:25:59.962 6811-6811/com.tokudu.demo W/System.err: at com.ibm.mqtt.MqttBaseClient.doConnect(Unknown Source)
10-07 10:25:59.965 6811-6811/com.tokudu.demo W/System.err: at com.ibm.mqtt.MqttBaseClient.connect(Unknown Source)
10-07 10:25:59.965 6811-6811/com.tokudu.demo W/System.err: at com.ibm.mqtt.MqttClient.connect(Unknown Source)
10-07 10:25:59.965 6811-6811/com.tokudu.demo W/System.err: at com.ibm.mqtt.MqttClient.connect(Unknown Source)
10-07 10:25:59.965 6811-6811/com.tokudu.demo W/System.err: at com.tokudu.demo.PushService$MQTTConnection.<init>(PushService.java:479)
10-07 10:25:59.965 6811-6811/com.tokudu.demo W/System.err: at com.tokudu.demo.PushService.connect(PushService.java:297)
10-07 10:25:59.965 6811-6811/com.tokudu.demo W/System.err: at com.tokudu.demo.PushService.reconnectIfNecessary(PushService.java:392)
10-07 10:25:59.965 6811-6811/com.tokudu.demo W/System.err: at com.tokudu.demo.PushService.access$100(PushService.java:32)
10-07 10:25:59.965 6811-6811/com.tokudu.demo W/System.err: at com.tokudu.demo.PushService$1.onReceive(PushService.java:413)
10-07 10:25:59.969 6811-6811/com.tokudu.demo W/System.err: at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:770)
10-07 10:25:59.969 6811-6811/com.tokudu.demo W/System.err: at android.os.Handler.handleCallback(Handler.java:725)
10-07 10:25:59.969 6811-6811/com.tokudu.demo W/System.err: at android.os.Handler.dispatchMessage(Handler.java:92)
10-07 10:25:59.969 6811-6811/com.tokudu.demo W/System.err: at android.os.Looper.loop(Looper.java:137)
10-07 10:25:59.969 6811-6811/com.tokudu.demo W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5106)
10-07 10:25:59.969 6811-6811/com.tokudu.demo W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
10-07 10:25:59.969 6811-6811/com.tokudu.demo W/System.err: at java.lang.reflect.Method.invoke(Method.java:511)
10-07 10:25:59.969 6811-6811/com.tokudu.demo W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
10-07 10:25:59.972 6811-6811/com.tokudu.demo W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
10-07 10:25:59.972 6811-6811/com.tokudu.demo W/System.err: at dalvik.system.NativeStart.main(Native Method)
10-07 10:25:59.972 6811-6811/com.tokudu.demo W/System.err: Caused by: android.os.NetworkOnMainThreadException
10-07 10:25:59.972 6811-6811/com.tokudu.demo W/System.err: at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1120)
10-07 10:25:59.972 6811-6811/com.tokudu.demo W/System.err: at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
10-07 10:25:59.972 6811-6811/com.tokudu.demo W/System.err: at libcore.io.IoBridge.connectErrno(IoBridge.java:144)
10-07 10:25:59.975 6811-6811/com.tokudu.demo W/System.err: at libcore.io.IoBridge.connect(IoBridge.java:112)
10-07 10:25:59.975 6811-6811/com.tokudu.demo W/System.err: at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
10-07 10:25:59.975 6811-6811/com.tokudu.demo W/System.err: at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
10-07 10:25:59.975 6811-6811/com.tokudu.demo W/System.err: at java.net.Socket.connect(Socket.java:842)
10-07 10:25:59.975 6811-6811/com.tokudu.demo W/System.err: at com.ibm.mqtt.j2se.MqttJava14NetSocket.<init>(Unknown Source)
10-07 10:25:59.975 6811-6811/com.tokudu.demo W/System.err: at com.ibm.mqtt.j2se.MqttJavaNetSocket.setConnection(Unknown Source)
10-07 10:25:59.975 6811-6811/com.tokudu.demo W/System.err: at com.ibm.mqtt.Mqtt.tcpipConnect(Unknown Source)
10-07 10:25:59.979 6811-6811/com.tokudu.demo W/System.err: ... 19 more
10-07 10:25:59.979 6811-6811/com.tokudu.demo I/DemoPushService: MqttException: NULL
10-07 10:25:59.982 6811-6811/com.tokudu.demo I/DemoPushService: Rescheduling connection in 1800000ms.
...全文
166 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bagwell909 2016-10-07
  • 打赏
  • 举报
回复
原来是这样的 Notification n = new Notification(); n.flags |= Notification.FLAG_SHOW_LIGHTS; n.flags |= Notification.FLAG_AUTO_CANCEL; n.defaults = Notification.DEFAULT_ALL; n.icon = com.tokudu.demo.R.drawable.icon; n.when = System.currentTimeMillis(); // Simply open the parent activity PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this, PushActivity.class), 0); // Change the name of the notification here n.setLatestEventInfo(this, NOTIF_TITLE, text, pi); mNotifMan.notify(NOTIF_CONNECTED++, n); 我是这样改的 Notification.Builder builder = new Notification.Builder(this); builder.setSmallIcon(R.drawable.icon); //设置图标 builder.setTicker("显示第一个通知"); builder.setContentTitle(NOTIF_TITLE); //设置标题 builder.setContentText(text); //消息内容 builder.setWhen(System.currentTimeMillis()); //发送时间 builder.setDefaults(Notification.DEFAULT_ALL); //设置默认的提示音,振动方式,灯光 builder.setAutoCancel(true);//打开程序后图标消失 PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this, PushActivity.class), 0); builder1.setContentIntent(pi); Notification n = builder.build(); mNotifMan.notify(NOTIF_CONNECTED++, n); 不知道有没有什么不对的地方 拜托大神帮忙看看啊,感谢各位

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧