10 通知栏Notification

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.textmethod">
<uses-permission android:name="android.permission.FLASHLIGHT"></uses-permission>
   <uses-permission android:name="android.permission.VIBRATE"></uses-permission>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.TextMethod">
        <activity
            android:name="com.texxt.MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.texxt.ContentActivity"
            android:label="详细内容" android:theme="@android:style/Theme.Dialog"/>
    </application>

</manifest>

package com.texxt;


import android.app.Activity;

import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.content.res.TypedArray;
import android.graphics.BitmapFactory;
import android.os.Bundle;


import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.Gallery;
import android.widget.GridView;
import android.widget.ImageButton;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.RatingBar;
import android.widget.SeekBar;
import android.widget.SimpleAdapter;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ViewSwitcher;


import androidx.annotation.NonNull;

import com.example.textmethod.R;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

public class MainActivity extends Activity {

    int[] img = new int[]{R.drawable.img1, R.drawable.img2, R.drawable.img3, R.drawable.img1, R.drawable.img2, R.drawable.img3, R.drawable.img1, R.drawable.img2, R.drawable.img3};

    public Button message;
    public Button delete;
    int NOTIFYID_1 = 0x1;
    int NOTIFYID_2 = 0x2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        message = findViewById(R.id.message);
        delete = findViewById(R.id.delete);
        final NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        String id = "channel_1";//通道ID
        String name = "123";//通道描述属性
        message.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                int importanceHigh = NotificationManager.IMPORTANCE_HIGH;//提示声音控制
                NotificationChannel notificationChannel = new NotificationChannel(id, name, importanceHigh);
                notificationChannel.setDescription(name);
                notificationChannel.enableLights(true);
                notificationChannel.enableVibration(true);//闪光灯
                notificationChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400});
                notificationManager.createNotificationChannel(notificationChannel);
                Notification notification = new Notification.Builder(MainActivity.this, id)
                        .setContentTitle("这是通知的标题").setSmallIcon(R.drawable.img1)
                        .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.img2))
                        .setContentText("通知内容").setAutoCancel(true)//设置自动删除
                        .build();
                notificationManager.notify(NOTIFYID_1, notification);


                Intent intent = new Intent(MainActivity.this, ContentActivity.class);
                PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
                Notification notification2 = new Notification.Builder(MainActivity.this, id)//创建Notification对象。
                        .setContentTitle("我是通知标题")//设置通知标题
                        .setSmallIcon(R.drawable.img1)//设置通知小图标
                        .setLargeIcon(BitmapFactory.decodeResource(getResources(),
                                R.drawable.img2))//设置通知大图标
                        .setContentText("welcome to Android")//设置通知内容.setAutoCancel(true)//设置自动删除通知
                        .setContentIntent(pendingIntent)
                        .build();//运行
                notificationManager.notify(NOTIFYID_2, notification2);//通知栏保留多条通知


/*
*API < 16*
/第一步:创建通知构造器Notificationcompat.Builder对象。Notificationcompat.Builder builder=new
Notificationcompat.Builder(getApplicationContext( ) , "default" );
//第二步:调用Notificationcompat.BuiLder对象的方法设置通知相关内容。buiLder.setSmalLIcon(R.drawable.ts_Logo);//设置通知小图标
builder.setLargeIcon(BitmapFactory.decodeResource(getResources(),
R.drawable.notification));//设置通知大图标
builder.setContentTitle(“我是通知标题");//设置通知标题
buiLder.setContentText( "weLcome to Android");//设置通知内容builder.setAutocanceL(true);//设置自动删除通知
Notification notification=buiLder.build();//:创建Notification对象。NotificationManager manager= (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE); R通知栏管理器(得到系统服务)
/ /manager.notify(1,notification); l/通知栏保留单条通知
manager.notify((int) system.currentTimeMillis() , notification);//通知栏保留多
条通知
*╱
 */

            }
        });

        delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                notificationManager.cancel(NOTIFYID_1);//清除NOTIFYID_1通知
                notificationManager.cancelAll();//清除全部通知
            }
        });

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值