最近升级了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来启动一个notificationIntentService中不能通过startForeground来启动一个notificationIntentService中不能通过startForeground来启动一个notification

更多相关文章

  1. Android问题与解决
  2. Android——启动过程详解
  3. Android(安卓)经验: 本地 5555 端口会被 adb 误认为 emulator
  4. 【android】Error: Static interface methods are only supporte
  5. 一个项目搞明白Android(安卓)启动模式和taskAffinity
  6. android 中apk如何防止反编译?
  7. Android(安卓)emulator中的system.img,userdata.img和ramdisk.img
  8. Android编译时主要瓶颈分析
  9. Android编译报Errors running builder 'Android(安卓)Pre Compil

随机推荐

  1. MySQL 8.0 redo log的深入解析
  2. MySQL 实例无法启动的问题分析及解决
  3. 关于MySQL报警的一次分析处理详解
  4. 浅谈mysql一张表到底能存多少数据
  5. mysql时区查看与设置方法
  6. MySQL truncate table语句的使用
  7. MySQL的加密解密的几种方式(小结)
  8. mysql的联合索引(复合索引)的实现
  9. Mysql性能优化之索引下推
  10. MySQL中一些鲜为人知的排序方式