Android 9.0版本及以上开发时遇到的一些版本问题

Posted zsbenn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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版本及以上开发时遇到的一些版本问题的主要内容,如果未能解决你的问题,请参考以下文章

基于数据库的代码自动生成工具,生成JavaBean生成数据库文档生成前后端代码等(v6.9.0版)

关于Gradle7.0及以上版本报Https的错误的解决方案

Appium遇到的问题(持续更新....)

Android 9.0 开发问题及解决方案汇总

关于Gradle7.0及以上版本报Https的错误的解决方案

Android 6.0及以上版本号的执行时权限介绍