通知的基本用法

MainActivity.java:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button sentNotice=(Button) findViewById(R.id.sendNotice);
       sentNotice.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.sendNotice:
                //给通知加上点击功能
                Intent intent=new Intent(this,NotificationActivity.class);
                PendingIntent pi=PendingIntent.getActivity(this,0,intent,0);

                //对通知进行管理,获取通知
                NotificationManager manager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                Notification notification=new NotificationCompat.Builder(this)//使用Builder构造器
                        //来创建Notification对象
                        .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))
                        .setContentIntent(pi)
                        .setAutoCancel(true) //点击通知时,通知自动取消
                        .setSound(Uri.fromFile(new File("/system/media/audio/ringtones/Luna.ogg"))) //音频
                        //封装长文字信息
                        .setStyle(new NotificationCompat.BigTextStyle().bigText("Learn how to build notification,send and sync data,and use" +
                                "voice actions.Get the official Android IDE and developer tools to build apps for Android ."))
                        //显示图片
                        .setStyle(new NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.big)))
                        .setPriority(NotificationCompat.PRIORITY_MAX) //通知消息让用户立刻看到
                        .build();
                manager.notify(1,notification);
                break;
                default:
                    break;
        }
    }
}

activity_main.xml:


    <Button
        android:id="@+id/sendNotice"
        android:text="Send Notice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

通知的进阶技巧
1,通知来时让手机振动
——下标为0的值表示手机静止的时长
——下标为1的值表示手机振动的时长
——下标为2得值表示手机静止的时长以此类推

 Notification notification=new NotificationCompat.Builder(this)
          .setVibrate(new long[] {0,1000,1000,1000})
          .build();

2,控制手机振动需要权限

<uses-permission android:name="android.permission.VIBRATE"></uses-permission>

3,手机前置LED灯的闪烁
第一个参数时灯的颜色
第二个参数灯亮的时长
第三个参数灯暗的时长

 Notification notification=new NotificationCompat.Builder(this)
          .setLights(Color.GREEN,1000,1000)
          .build();

4,根据当前的手机环境来决定播放什么铃声,一句如何振动

 Notification notification=new NotificationCompat.Builder(this)
          .setDefaults(NotificationCompat.DEFAULT_ALL)
          .build();
Screenshot_1562810161.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容