Android实例五:Notification通知和Broadcast结合

第一步.MainActivity.java

    package com.chaowen;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import com.chaowen.R;
public class MainActivity extends Activity {
     private Button sendBtn;
     private static final String MY_ACTION = "com.chaowen.action.MY_ACTION";
     
     
   
     
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        
        sendBtn  = (Button)findViewById(R.id.sendButton01);
       
        
      
        
        //为按钮添加监听器
        sendBtn.setOnClickListener(sendListener);
        
        
    }
    
    
    //发送通知监听器
    private OnClickListener sendListener = new OnClickListener() {
		
		@Override
		public void onClick(View v) {
			Intent intent = new Intent();
		     intent.setAction(MY_ACTION);
		     sendBroadcast(intent);
		}
	};
	
	
}

  第二步,接收类MyReceive.java

    package com.chaowen;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
/**
 * 接收广播,收到广播后启动另一个Activity来显示通知
 * @author chaowen
 *
 */
public class MyReceive extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
	    Intent i = new Intent();
	    //在新的任务中启动Activity
	    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
	    //设置Intent启动的组件名称
	    i.setClass(context, DisplayActivity.class);
	    context.startActivity(i);
	}

}

  第三步.显示通知.DisplayActivity.java

  package com.chaowen;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class DisplayActivity extends Activity {
    private Button cancelBtnButton;
    private Notification notification;
    private NotificationManager nmManager;
    private static final int ID=1;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    	super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);
        
        cancelBtnButton=(Button)findViewById(R.id.cancelButton02);
        nmManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        notification = new Notification();
        
        int icon = notification.icon=R.drawable.happy;
        String tickerText ="Test Notification";
        long when = System.currentTimeMillis();
        notification.icon=icon;
        notification.tickerText = tickerText;
        notification.when=when;
        
        Intent intent = new Intent(this,MainActivity.class);
        PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
        notification.setLatestEventInfo(this, "my title", "my Content", pi);
        nmManager.notify(ID,notification);
        
        //为按钮添加监听器
        cancelBtnButton.setOnClickListener(cancelListener);
    }
    
    private OnClickListener cancelListener = new OnClickListener() {
		
		@Override
		public void onClick(View v) {
			nmManager.cancel(ID);
			
		}
	};
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值