Android NotificationChannel
16lz
2021-01-23
Android NotificationChannel
在学习《Android 第一行代码》,第8章-多媒体—使用通知那块遇到了问题。
就是在Android o 以上的版本(api为26)在使用通知时,需要另外一个类–NotificationChannel。
在Android o之后app每发送一个通知都需要依附一个NotificationChannel,每个notification对象必须发送到指定的NotificationChannel,如果找不到channel,就会报错。
接下来看看如何使用。
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private NotificationManager manager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button sendNotice = (Button)findViewById(R.id.send_notice); sendNotice.setOnClickListener(this); manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); } @Override @RequiresApi(api = Build.VERSION_CODES.O) public void onClick(View view) { switch (view.getId()){ case R.id.send_notice: if(Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.O){ NotificationChannel notificationChannel = new NotificationChannel("channel","channelname",NotificationManager.IMPORTANCE_HIGH); manager.createNotificationChannel(notificationChannel); } NotificationCompat.Builder builder = new NotificationCompat.Builder(this,"channel").setContentTitle("This is content title") .setContentText("This is content text") .setWhen(System.currentTimeMillis()) .setSmallIcon(R.mipmap.ic_launcher) .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher)); manager.notify(1, builder.build()); break; default: break; } }}
NotificationChannel共三个参数,第一个参数是id,就是通知渠道的id,后面NotificationCompat.Builder使用哪个渠道就依靠此id来判断。第二个参数是通知渠道的名称。第三个参数是通知的重要程度。
通知渠道名称可以在应用的通知管理看到,如图:
更多相关文章
- Android基础-------Android通知Notification
- Android仿虾米音乐播放器之通知栏notification解析
- Android Studio自带的多渠道打包简单使用
- Android 2.2中的APK安装参数installLocation
- android产品研发(五)-->多渠道打包
- Android 通知栏Notification的整合 全面学习
- Android多渠道打包总结
- 关于webservice服务器接收不到Android传递过来的参数的问题
- android图标适配、JPG、PNG、iOS消息推送及系统通知方式