Android IntentService问题

最近升级了Android Studio,使用最新的编译工具。

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
}

突然发现Google在Android 6.0中去掉了好多的Api接口,比如http client,notification等api。

然后发现原先的在一个service里面通过startForeground来启动一个notification,运行时候发现notification可以显示,但是显示出来又里面消失了。

这个问题一直找了好几天,因为原先的new出来的Notification是直接new的,最新版本的编译方式不允许这样实现,然后notification是通过Notification.builder来构造生成的。刚刚开始注意点是在这个方面,中间也通过反正来调用原先被禁止的方法,但是然并卵。

最后实在不行就重新做了个demo,发现突然可以了,只不过服务不是继承IntentService,而是直接继承了Service,突然想到这里,就明白了。

最后发现原先的Android版本在IntentService里面启动一个notification是可以的,但是在最新的编译工具里面是不可以的。估计google在编译的时候修改了不少东西。

最后重要的事情说三遍:

IntentService中不能通过startForeground来启动一个notification
IntentService中不能通过startForeground来启动一个notification
IntentService中不能通过startForeground来启动一个notification

你可能感兴趣的:(Android)