最后
这里我特地整理了一份《Android开发核心知识点笔记》,里面就包含了自定义View相关的内容
除了这份笔记,还给大家分享 Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。
分享上面这些资源,希望可以帮助到大家提升进阶,如果你觉得还算有用的话,不妨把它们推荐给你的朋友~
喜欢本文的话,给我点个小赞、评论区留言或者转发支持一下呗~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
这里尝试给通知渠道简单下一个定义,每一个通知都属于一个通知渠道,开发者可以在APP中自由创建多个渠道,需要注意的时,通知渠道一旦创建就无法修改。
创建通知渠道
应用程序中创建通知渠道(Notification Channel)的步骤:
1.通过构造方法NotificationChannel(channelId, channelName, importance)创建一个NotificationChannel对象
2.通过createNotificationChannel ( )来注册NotificationChannel一个对象
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
String channelId = “some_channel_id”;
CharSequence channelName = “Some Channel”;
int importance = NotificationManager.IMPORTANCE_LOW;
NotificationChannel notificationChannel = new NotificationChannel(channelId, channelName, importance);
notificationChannel.enableLights(true);
notificationChannel.setLightColor(Color.RED);
notificationChannel.enableVibration(true);
notificationChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400});
notificationManager.createNotificationChannel(notificationChannel);
创建通知渠道需要三个参数
- channelId 通知渠道的ID 可以是任意的字符串,全局唯一就可以
- channelName 通知渠道的名称,这个是用户可见的,开发者需要认真规划的命名
- importance 通知渠道的重要等级,有一下几个等级,不过这个用户都是可以手动修改的
其次我们可以通过使用通知渠道提供给我们的一些公共方法来操纵该通知渠道:
- getId()—检索给定通道的ID
- enablellights() -如果使用中的设备支持通知灯,则说明此通知通道是否应显示灯
- setLightColor() -如果我们确定通道支持通知灯,则允许使用传递一个int值,该值定义通知灯使用的颜色
- enablementVisuration()—在设备上显示时,说明来自此通道的通知是否应振动
- getImportance()—检索给定通知通道的重要性值
- setSound()—提供一个Uri,用于在通知发布到此频道时播放声音
- getSound()—检索分配给此通知的声音
- setGroup()—设置通知分配到的组
- getGroup()—检索通知分配到的组
- setBypassDnd()—设置通知是否应绕过“请勿打扰”模式(中断_筛选器_优先级值)
- canBypassDnd() -检索通知是否可以绕过“请勿打扰”模式
- getName()—检索指定频道的用户可见名称
- setLockScreenVisibility() -设置是否应在锁定屏幕上显示来自此通道的通知
- getlockscreendisibility() -检索来自此通道的通知是否将显示在锁定屏幕上
- getAudioAttributes()—检索已分配给相应通知通道的声音的音频属性
- canShowBadge()—检索来自此通道的通知是否能够在启动器应用程序中显示为徽章 下面我们写个demo,创建两个通知渠道,升级和私信。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
String channelId = “upgrade”;
String channelName = “升级”;
int importance = NotificationManager.IMPORTANCE_HIGH;
createNotificationChannel(channelId, channelName, importance);
channelId = “compose”;
channelName = “私信”;
importance = NotificationManager.IMPORTANCE_DEFAULT;
createNotificationChannel(channelId, channelName, importance);
}
}
//创建通知渠道
@RequiresApi(api = Build.VERSION_CODES.O)
private void createNotificationChannel(String channelId, String channelName, int importance) {
NotificationChannel channel = new NotificationChannel(channelId, channelName, importance);
NotificationManager notificationManager = (NotificationManager) getSystemService(
NOTIFICATION_SERVICE);
notificationManager.createNotificationChannel(channel);
}
public void sendUpgradeMsg(View view) {
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification = new NotificationCompat.Builder(this, “upgrade”)
.setContentTitle(“升级”)
实战系列
话不多说,Android实战系列集合都已经系统分类好,由于文章篇幅问题没法过多展示
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
cs/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!