Android中点击通知栏跳转并传值

 

                   Intent intent=new Intent(MainActivity.this,NotificationActivity.class);
                    String str = (String) msg.obj;
                    Log.i("eeeee",str);
                    intent.putExtra("ee",str);
                    //参数:1:Context  2:一般不用 通常传入0  3:Intent  4:FLAG_CANCEL_CURRENT(),FLAG_NO_CREATE,FLAG_ONE_SHOT,FLAG_UPDATE_CURRENT
                    //PendingIntent pendingIntent=PendingIntent.getActivity(MainActivity.this,0,intent,0);//延迟跳转
                    int notifyId = (int) System.currentTimeMillis();
                    PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, notifyId, intent, PendingIntent.FLAG_UPDATE_CURRENT);//PendingIntent.FLAG_UPDATE_CURRENT
                    NotificationManager manager= (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                    Notification notification=new NotificationCompat.Builder(MainActivity.this)
                            .setContentTitle("紧急通知:")
                            .setContentText((String) msg.obj)
                            // .setContentText("圣诞节来了")//显示长文本时,后面省略号代替了
                            .setWhen(System.currentTimeMillis())
                            .setSmallIcon(R.mipmap.ic_launcher)
                            .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
                            .setContentIntent(pendingIntent)//设置可点击跳转
                            //.setAutoCancel(true)//点击后自动取消通知(方法1)
                            // .setSound(Uri.fromFile(new File("/system/media/audio/ringtones/Luna.ogg")))//设置声音
                            .setVibrate(new long[] {0, 1000, 1000, 1000})//使震动 数组表示 静止0秒,震动1秒 静止1秒 震动1秒
                            //声明震动的权限 <uses-permission android:name="android.permission.VIBRATE"/>
                            .setLights(Color.GREEN, 1000, 1000)//设置呼吸灯 参数:颜色  亮起时长 暗去时长
                            .setDefaults(NotificationCompat.DEFAULT_ALL)//设置默认
                            //.setStyle(new NotificationCompat.BigTextStyle().bigText(message))//显示长文本
                            // .setStyle(new NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.big_image)))//设置显示大图片
                            .setPriority(NotificationCompat.PRIORITY_MAX)//设置重要程度: PRIORITY_DEFAULT (表示默认)PRIORITY_MIN(表示最低) PRIORITY_LOW (较低)PRIORITY_HIGH (较高)PRIORITY_MAX(最高)
                            .build();
                    manager.notify(1,notification);

 

public class NotificationActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.notification_layout);
        TextView tv_text = (TextView) findViewById(R.id.tv_text);
        Intent intent = getIntent();
        String str = intent.getStringExtra("ee");
        Log.i("ssssssssss",str);
        tv_text.setText(str);
        //通知栏,取消通知(方法2)
        NotificationManager manager= (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        manager.cancel(1);


    }
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值