xamarin学习笔记A12(安卓Notification)

(每次学习一点xamarin就做个学习笔记和视频来加深记忆巩固知识)
如有不正确的地方,请帮我指正。
通知(Notification)简介
当一个应用程序不在前台运行而在后台运行时,这时有个消息希望让用户知道,那么可以在状态栏显示一个消息图标,下拉状态栏后可以看到具体消息,这就是通知功能。在Activity中一般用得少,主要是用在Service里。

通知的使用
使用方法很简单 ,创建一个Notification对象,然后使用NotificationManager对象的Notify方法发送出去。

public class MainActivity : AppCompatActivity,IOnClickListener
    {
        public void OnClick(View v)
        {
            switch (v.Id)
            {
                case Resource.Id.button1://发送通知
                    SendNotice();
                    break;
            }
        }

        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView (Resource.Layout.Main);

            Button btn1 = this.FindViewById<Button>(Resource.Id.button1);
            btn1.SetOnClickListener(this);
        }

        private void SendNotice()
        {
            NotificationManager manager = (NotificationManager)this.GetSystemService(NotificationService);
            Notification notification = new NotificationCompat.Builder(this).SetContentTitle("快递通知")
                .SetContentText("你购买的C#高级编程已发货了!")
                .SetSmallIcon(Resource.Drawable.a1_16)  //设置显示在状态栏的小图标
                .SetLargeIcon(BitmapFactory.DecodeResource(this.Resources, Resource.Drawable.a1_32))//设置下拉后大图标
                .SetContentIntent(GetPendingIntent())  //设置点击通知后要进入的activity
                //.SetAutoCancel(true)  //设置点通知后不再显示通知
                //SetVibrate振动要在manifest文件中声明权限"android.permission.VIBRATE",参数500表示有通知来时先等待0.5秒,后面的表示振动1秒停2秒后再振动1秒
                .SetVibrate(new long[] { 500, 1000, 2000, 1000 }) //设置通知来时的振动
                //.SetSound(Android.Net.Uri.FromFile("/system/.........填写铃声具体路径"))
                .SetLights(Color.Green, 1000, 1000) //第一个时间表示灯闪的时间为1秒,第二时间表示灯慢慢变暗的时间为1秒
                .SetPriority(NotificationCompat.PriorityMax) //设置通知优先级
                .Build();
            manager.Notify(12345, notification);
        }

        //点击通知后要进入的activity
        private PendingIntent GetPendingIntent()
        {
            Intent intent = new Intent(this, typeof(SecondActivity));
            PendingIntent pi = PendingIntent.GetActivity(this, 0, intent, 0);
            return pi;
        }
    }

代码和视频在我上传的CSDN资源中http://download.csdn.net/download/junshangshui/10022512

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值