假设你以为说弹个提示让用户自己安装,我想说
用户才不会理你。用户分分钟就不更新了。
所以说我们要解决这个问题。让这个安装器在 Android 8.0 的手机也能正常唤起。
其实解决方法非常简单。
只需要在 AndroidManifest.xml 中声明以下权限即可。
而且还不需要你在代码动态申请,是不是 So easy。
一行代码解决这个兼容性问题。
通知问题
假设你的 App 需要在任务栏显示通知。如果你是按照 Android 8.0 之前的写法的话。那么在 8.0 的手机上面你是显示不了的。
那怎么办呢?
关于通知的基本写法这边就不再赘余,如果不清楚的小伙伴自行查阅资料。这边重点说下解决方法。
首先说下下面代码出现的几个变量:
private static NotificationManager manager;
public static final String NOTIFICATION_CHANNEL = “your app pkg name”;
private static final String NOTIFICATION_CHANNEL_NAME = “App Channel”;
第一个写过通知的都知道,一个管理类。
第二个是通知的一个 CHANNEL,这个也是 8.0 之后才引入的。取值 App 包名即可。
第三个自定义,只要保证唯一即可。
兼容有两步需要操作。
1. 创建Channel
private static void createChannel() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel notifyChannel = new NotificationChannel(NOTIFICATION_CHANNEL,
NOTIFICATION_CHANNEL_NAME,
NotificationManager.IMPORTANCE_DEFAULT);
notifyChannel.setLightColor(Color.GREEN);
notifyChannel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
manager.createNotificationChannel(notifyChannel);
}
}
2. 获取 Notification.Builder
private Notification.Builder getNotificationBuilder(Context sourceContext) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
return new Notification.Builder(sourceContext, NOTIFICATION_CHANNEL);
} else {
return new Notification.Builder(sourceContext);
}
}
可以看到,上面的操作都以 8.0 作为分界处理。
做完这两步,之前不能显示通知的 App 就可以显示了。
尾声
以薪资待遇为基础,以发展为最终目标,要在高薪资的地方,谋求最好的发展!
下面是有几位Android行业大佬对应上方技术点整理的一些进阶资料。有**Android架构视频+BATJ面试专题PDF+核心笔记等资料。希望能够帮助到大家提升技术。如果大家想要获取的话,可以私信我【666】免费获取哦**
升技术。如果大家想要获取的话,可以私信我【666】免费获取哦
[外链图片转存中…(img-YWGG1uob-1727035056842)]