通知 之 Notification

import android.os.Bundle;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.view.View;
public class NotifyActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_notify);
		overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
	}
   
	//发通知,如果震动的话要在配置文件中加权限
	 public void clickme(View v){
			//通知的管理者
			NotificationManager manage=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
			
			Intent notificationIntent = new Intent(this,InfoActivity.class);
		    //将来要进行的intent
			PendingIntent contentIntent  = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_ONE_SHOT); 
			
			Notification info = new Notification();
			info.icon=R.drawable.ic_launcher;
		    info.setLatestEventInfo(getApplicationContext(), "android","加油,小高...", contentIntent);   
		    info.defaults |=Notification.DEFAULT_SOUND;
		   // info.flags |= info.FLAG_INSISTENT; //重复发出声音,直到用户响应此通知
		    info.defaults |=Notification.DEFAULT_LIGHTS;
		    info.defaults |=Notification.DEFAULT_VIBRATE;
	        // 100 毫秒延迟后,震动 250 毫秒,暂停 100 毫秒后,再震动 500 毫秒   
	        info.vibrate = new long[] { 100, 250, 100, 500 };   
		    info.tickerText = "小高,为未来加油!关于android的学习深度...";
	        info.when = System.currentTimeMillis();
			
	       //把通知交给通知管理器去显示
			manage.notify(110,info);
			        
	        //准备一个通知建造器,但这种方法行不通,或许是android没做好,经过测试是行不通,所以就注释了。
			/*Builder builder=new Notification.Builder(this);
			// 设置相关的通知属性
			builder.setSmallIcon(R.drawable.ic_launcher); //图标
			builder.setContentTitle("小高,为未来加油!"); //通知的标题
			builder.setTicker("小高,关于android的学习深度..."); //通知简写段
			builder.setAutoCancel(true);//设置可以清除	
			builder.setContentText("详细内容请打开查看...."); //通知的内容
			builder.setContentIntent(contentIntent);  //设置将来要去的intent
			//Notification info=builder.build(); */	
	 }
}

xml布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".NotifyActivity"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这里是通知哦"  android:gravity="center_horizontal"/>
   <Button android:id="@+id/sendNotify" android:text="发通知" android:onClick="clickme" style="@style/btnStyle" />
    
</LinearLayout>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值