效果图:

android 通知Notification的使用小实例(振动,灯光,声音)_第1张图片


android 通知Notification的使用小实例(振动,灯光,声音)_第2张图片


android 通知Notification的使用小实例(振动,灯光,声音)_第3张图片



MainActivity:

import java.io.File;import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Intent;import android.graphics.Color;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements OnClickListener {private Button sendNotice;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sendNotice = (Button) findViewById(R.id.send_notice);sendNotice.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.send_notice:NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);//创建notification对象来存储通知所需的各种信息//第一个参数为图标//第二个参数用于指定通知的ticker内容//第三个参数用于指定通知被创建的时间,以毫秒为单位Notification notification = new Notification(R.drawable.ic_launcher, "This is ticker text",System.currentTimeMillis());//此处设置点击的activity的跳转//第一个参数依旧是Context//第二个参数一般用不到,所以用0表示取默认值//第三个参数就是一个Intent对象//FLAG_CANCEL_CURRENT:如果当前系统中已经存在一个相同的PendingIntent对象,// 那么就将先将已有的PendingIntent取消,然后重新生成一个PendingIntent对象。Intent intent = new Intent(this, NotificationActivity.class);PendingIntent pi = PendingIntent.getActivity(this, 0, intent,PendingIntent.FLAG_CANCEL_CURRENT);//设置通知的布局//第一个参数为Context//第二个参数用于指定通知的标题//第三个参数用于指定通知的征文内容//第四个参数用于传入PendingIntent对象,用于设置点击效果notification.setLatestEventInfo(this, "This is content title","This is content text", pi);////设置在通知发出的时候的音频//Uri soundUri = Uri.fromFile(new File("/system/media/audio/ringtones/Basic_tone.ogg"));//notification.sound = soundUri;//////设置手机震动////第一个,0表示手机静止的时长,第二个,1000表示手机震动的时长////第三个,1000表示手机震动的时长,第四个,1000表示手机震动的时长////此处表示手机先震动1秒,然后静止1秒,然后再震动1秒//long[] vibrates = {0, 1000, 1000, 1000};//notification.vibrate = vibrates;//////设置LED指示灯的闪烁////ledARGB设置颜色////ledOnMS指定LED灯亮起的时间////ledOffMS指定LED灯暗去的时间////flags用于指定通知的行为//notification.ledARGB = Color.GREEN;//notification.ledOnMS = 1000;//notification.ledOffMS = 1000;//notification.flags = Notification.FLAG_SHOW_LIGHTS;//如果不想进行那么多繁杂的这只,可以直接使用通知的默认效果//默认设置了声音,震动和灯光notification.defaults = Notification.DEFAULT_ALL;//使用notify将通知显示出来//第一个参数是id,要爆炸为每个通知所指定的id是不同的//第二个参数就是Notification对象manager.notify(1, notification);break;default:break;}}}


activity_main:

<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:orientation="vertical" ><Button     android:id="@+id/send_notice"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:text="发出通知"    />    </LinearLayout>



NotificationActivity:

import android.app.Activity;import android.app.NotificationManager;import android.os.Bundle;public class NotificationActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.notification_layout);//打开NotificationActivity这个Activity后把通知给关掉NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);manager.cancel(1);}}


notification_layout:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <TextView         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerInParent="true"        android:textSize="24sp"        android:text="这是通知点击后的界面"        />    </RelativeLayout>


AndroidManifest:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.notificationtest"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="14"        android:targetSdkVersion="19" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="com.example.notificationtest.MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity android:name=".NotificationActivity" >        </activity>    </application></manifest>



最后附上源码:

http://download.csdn.net/detail/double2hao/9213023



更多相关文章

  1. Android 本地推送消息到通知栏 NotificationManager 、注册Andro
  2. 拦截短信,不让系统发通知
  3. Android Wear Preview- 归档通知(Stacking Notifications)
  4. android:versionCode和android:versionName 用途(转) App自动更
  5. Android通知的基本用法
  6. Android sdk tool android 命令参数
  7. Android shape 参数
  8. Android根据上下文对象Context找到对应的Activity
  9. 配置android的命令行参数

随机推荐

  1. mysql添加备注信息的实现
  2. 深入理解r2dbc在mysql中的使用
  3. 浅谈Mysql哪些字段适合建立索引
  4. nacos无法连接mysql的解决方法
  5. mysql5.7 设置远程访问的实现
  6. MySQL查询优化之查询慢原因和解决技巧
  7. 详解mysql 使用left join添加where条件的
  8. 浅谈为什么Mysql数据库尽量避免NULL
  9. 新手如何安装Mysql(亲测有效)
  10. 如何把Mysql卸载干净(亲测有效)