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>