万事须己运,他得非我贤。这篇文章主要讲述Android 9.0版本及以上开发时遇到的一些版本问题相关的知识,希望能为你提供帮助。
1.使用前台服务
要加上权限
< uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
同时通知部分的代码也要修改
//android 8.0以后新增 String CHANNEL_ONE_ID="com.example.servicetest"; String CHANNEL_ONE_NAME = "Channel One"; NotificationChannel notificationChannel = null; if(Build.VERSION.SDK_INT > = Build.VERSION_CODES.O){ notificationChannel = new NotificationChannel(CHANNEL_ONE_ID,CHANNEL_ONE_NAME, NotificationManager.IMPORTANCE_HIGH); notificationChannel.enableLights(true); notificationChannel.setLightColor(Color.RED); notificationChannel.setShowBadge(true); notificationChannel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC); NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); manager.createNotificationChannel(notificationChannel); //创建前台服务 Intent intent = new Intent(this,MainActivity.class); PendingIntent pi = PendingIntent.getActivity(this,0,intent,0); Notification notification = new Notification.Builder(this) .setChannelId(CHANNEL_ONE_ID)//新增 .setContentTitle("This is content title") .setContentText("This is content title") .setWhen(System.currentTimeMillis()) .setSmallIcon(R.mipmap.ic_launcher) .setContentIntent(pi) .build(); notification.flags |= Notification.FLAG_NO_CLEAR; //新增 startForeground(1,notification); }
【Android 9.0版本及以上开发时遇到的一些版本问题】
推荐阅读
- Android Studio 之 Toast
- Django学习之django3.0.3报错(Specifying a namespace in include() without providing an app_name)
- 无法加载文件 C:UsershuangshiminAppDataRoamingpmwechat-terminal.ps1,因为在此系统上禁止运行脚本
- kafka.errors.UnsupportedCodecError: UnsupportedCodecError: Libraries for snappy compression codec no
- Android Fragment 切换动画设置
- Android 对控件设置边框样式(边框颜色,圆角)和图片样式(圆角)
- 安卓 日常问题 工作日志
- android中的传值(5种)
- 虹软人脸识别 - Android平台调用动态库时的常见错误解析