Android中的Notifaction的使用例子

参考文章:http://blog.csdn.net/w804518214/article/details/51231946 里面还有实现音乐播放的
关于notifaction的使用例子,包含下载进度显示,普通的显示,仿QQ的弹出
关于权限: 
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.FLASHLIGHT"/>
代码:
public class MainActivity extends AppCompatActivity {
    TextView button;
    NotificationManager mange;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mange = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        button = (TextView) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showOnTop();
                //showAllNotif();

//downloadNotif();
//nomaleNotif();
            }
        });
    }

    /*实现通知出现在其他应用的上方*/
    public void showOnTop() {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
        builder.setContentTitle("横幅通知");
        builder.setContentText("内容");
        builder.setDefaults(NotificationCompat.DEFAULT_ALL);
        builder.setSmallIcon(R.mipmap.ic_launcher);//显示的小图标
        builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));//下拉现
        //关键点
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, new Intent(this, MainActivity.class), 0);//点击实现跳转

        builder.setContentIntent(pendingIntent);
        builder.setFullScreenIntent(pendingIntent, true);
        builder.setAutoCancel(true);
        Notification notification = builder.build();
        mange.notify(6, notification);

    }

    /*d点击后可以查看详情*/
    public void showAllNotif() {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
        builder.setContentTitle("title");
        builder.setContentText("text");
        builder.setSmallIcon(R.mipmap.ic_launcher);//显示的小图标
        builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));//下拉现
        NotificationCompat.BigTextStyle style = new NotificationCompat.BigTextStyle();
        style.bigText("全部的内容全部的内容全部的内容全部的内容全部的内容全部的内容全容全部的内容全部的内容全容全部的内容全部的内容全容全部的内容全部的内容全容全部的内容全部的内容全容全部的内容全部的内容全容全部的内容全部的内容全部的内容全部的内容全部的内容全部的内容全部的内容全部的内容全部的内容全部的内容");
        style.setBigContentTitle("点击后的标题");
        style.setSummaryText("类似一个标题的东西");
        builder.setStyle(style);
        Notification notification = builder.build();
        mange.notify(3, notification);
    }

    /*表示下下载进度的通知*/
    public void downloadNotif() {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
        builder.setSmallIcon(R.mipmap.ic_launcher);//显示的小图标
        builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));//下拉现实的额大图表
        //禁止用户点击数删除
        builder.setAutoCancel(false);
        //取消时间的显示
        builder.setShowWhen(false);
        //禁止滑动删除
        builder.setOngoing(true);
        builder.setProgress(100, 50, false);
        Notification notification = builder.build();
        mange.notify(1, notification);
    }

    /*一般的通知*/
    public void nomaleNotif() {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
        builder.setTicker("提示");
        builder.setContentTitle("标题");
        builder.setSubText("摘要");
        builder.setContentText("内容");
        builder.setContentInfo("显示于通知时间的下面");
        builder.setNumber(1);//显示同种通知的数量,塔河setContentinfo只能设置其中一种
        builder.setAutoCancel(true);//可以点击通知栏的删除按钮删除
        builder.setSmallIcon(R.mipmap.ic_launcher);//显示的小图标
        builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));//下拉现实的额大图表
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, new Intent(this, MainActivity.class), 0);//点击实现跳转
        builder.setDefaults(NotificationCompat.DEFAULT_ALL);
        builder.setContentIntent(pendingIntent);
        Notification notification = builder.build();
        mange.notify(1, notification);
    }
}




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值