我是靠谱客的博主 辛勤纸飞机,最近开发中收集的这篇文章主要介绍Notification二,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Francis 的Notification学习之旅二


1.PaddingIntent与Intent的区别;

2.Notification的使用。


一、Intent和PendingIntent的区别

a. Intent是立即使用的,而PendingIntent可以等到事件发生后触发,PendingIntent可以cancel
b. Intent在程序结束后即终止,而PendingIntent在程序结束后依然有效
c. PendingIntent自带Context,而Intent需要在某个Context内运行
d. Intent在原task中运行,PendingIntent在新的task中运行

参考链接:http://blog.csdn.net/yuzhiboyi/article/details/8484771

http://blog.csdn.net/zeng622peng/article/details/6180190


二、Notification的使用

高版本通常使用Notification.builder来建立。

代码参考:

package cqmu.francisteam.com.myapplication;

import android.annotation.TargetApi;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends AppCompatActivity {


    private Button button;
    private NotificationManager manager;
    private Notification.Builder builder;
    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
    @Override

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        builder = new Notification.Builder(this);
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, MainActivity.class);
                PendingIntent contentIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
                builder.setContentIntent(contentIntent);
                builder.setContentTitle("new notification is coming");
                builder.setContentText("hello world");
                builder.setSmallIcon(R.drawable.launcher);
                Notification notification = builder.build();
                manager.notify(1000, notification);

            }
        });
    }
}

说明:DEFAULT_VIBRATE默认的震动需要注册权限到manifest,<uses-permission android:name = "android.permission.VIBRATE"/>

闪光灯也需要如同上述操作

最后

以上就是辛勤纸飞机为你收集整理的Notification二的全部内容,希望文章能够帮你解决Notification二所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部