android notification 示例

来源:互联网 发布:数据分析的重要性 编辑:程序博客网 时间:2024/05/22 00:25
package com.mysession;

import java.io.File;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;

public class MyNotification {

    private NotificationManager mNotificationManager;
    private Notification mNotification;
    private Context mContext;
    private static final int NOTIFICATION_ID = 20120611;

    public MyNotification(Context context) {
        mNotificationManager = (NotificationManager) context
                .getSystemService(Activity.NOTIFICATION_SERVICE);
        mContext = context;
    }

    public void showNotification(String title, File file) {

        mNotification = new Notification();
        mNotification.icon = R.drawable.ic_launcher;
        mNotification.flags = Notification.FLAG_AUTO_CANCEL;
        mNotification.tickerText = "download finished.";
        mNotification.defaults = Notification.DEFAULT_ALL;
        mNotification.sound = null;

        PendingIntent pi = PendingIntent.getActivity(mContext, 0, getImageFileIntent(file), 1);
        mNotification.setLatestEventInfo(mContext, title, "download finished", pi);

        mNotificationManager.notify(NOTIFICATION_ID, mNotification);
    }

    public void cancelNotification() {
        mNotificationManager.cancel(NOTIFICATION_ID);
    }
    
      //android获取一个用于打开图片文件的intent
    private Intent getImageFileIntent(File file)
    {
        Intent intent = new Intent("android.intent.action.VIEW");
        intent.addCategory("android.intent.category.DEFAULT");
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        Uri uri = Uri.fromFile(file);
        intent.setDataAndType(uri, "image/*");
        return intent;
    }
}


原创粉丝点击