android -- 通知栏的简单应用

本文介绍如何在Android应用中创建并发送通知,通过示例代码展示了如何设置通知的内容、标题及图标,并实现点击通知启动新Activity的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要学习《第一行代码》,但是由于时间问题,会出现代码过时

在activity_main.xnm中定义一个按钮

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.adolph.notificationtest.MainActivity">
    
    <Button
        android:id="@+id/send_notice"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Send notice"/>
</RelativeLayout>


在MainActivity.java中进行逻辑部分编写

package com.adolph.notificationtest;


public class MainActivity extends Activity implements View.OnClickListener{

    private Button sendNotice;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sendNotice = (Button) findViewById(R.id.send_notice);
        sendNotice.setOnClickListener(this);
    }

    @Override
    public void onClick(View v){
        switch (v.getId()) {
            case R.id.send_notice:
                NotificationManager manager = (NotificationManager)
                        getSystemService(NOTIFICATION_SERVICE);
                NotificationCompat.Builder mBuilder =
                        new NotificationCompat.Builder(this)
                                .setSmallIcon(R.drawable.qw)
                                .setContentTitle("My notification")
                                .setContentText("Hello World!");
                manager.notify(1, mBuilder.build());
                break;
            default:
                break;
        }
    }

}


进一步完善,实现点击通知栏启动一个Activity

1、新建一个Test.java

2、给新建的Activity写一个布局文件,并且对Activity进行注册

3、修改MainActivity.java中代码如下

package com.adolph.notificationtest;
public class MainActivity extends Activity implements View.OnClickListener{

    private Button sendNotice;
    /**
     * ATTENTION: This was auto-generated to implement the App Indexing API.
     * See https://g.co/AppIndexing/AndroidStudio for more information.
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sendNotice = (Button) findViewById(R.id.send_notice);
        sendNotice.setOnClickListener(this);
    }

    @Override
    public void onClick(View v){
        switch (v.getId()) {
            case R.id.send_notice:
                NotificationManager manager = (NotificationManager)
                        getSystemService(NOTIFICATION_SERVICE);
                NotificationCompat.Builder mBuilder =
                        new NotificationCompat.Builder(this)
                                .setSmallIcon(R.drawable.qw)
                                .setContentTitle("My notification")
                                .setContentText("Hello World!");
                Intent result = new Intent(this,Test.class);
                TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
                stackBuilder.addParentStack(Test.class);
                stackBuilder.addNextIntent(result);
                PendingIntent pendingIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_CANCEL_CURRENT);
                mBuilder.setContentIntent(pendingIntent);
                manager.notify(1, mBuilder.build());
                break;
            default:
                break;
        }
    }

}












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值