这样来写:
public void onCreate() { super.onCreate(); ntfmngr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); setNotifyType(R.drawable.logo,"aaaaaaaaaaa",3); } private void setNotifyType(int icon, String text, int num) { Intent notifyIntent = new Intent().setClass(getApplicationContext(), MainActivity.class); // notifyIntent.putExtra("mode", mNotifyMode); notifyIntent.setAction(Constants.UPDATE_HOME_LIST); //根据这个收到的activity可以接受这个action,判断是什么类型的消息 // notifyIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | // Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent appIntent = PendingIntent.getActivity(this, 0, notifyIntent, 0); Notification myNotification = new Notification(); // myNotification.defaults = Notification.DEFAULT_VIBRATE; Uri soundUri = Uri .parse("android.resource://com.sina.weibo/raw/notificationsound"); // Log.e(Constants.TAG, soundUri.getPath()); myNotification.flags = Notification.FLAG_AUTO_CANCEL; myNotification.icon = icon; <strong>myNotification.defaults = Notification.DEFAULT_SOUND; myNotification.sound = soundUri; //notication过来的时候有声音</strong> if (num != -1) { myNotification.number = num; } long[] vb = new long[] { 80, 80 }; myNotification.vibrate = vb; myNotification.tickerText = text; myNotification.setLatestEventInfo(this, getString(R.string.app_name), text, appIntent); System.out.println("====ntfmngr.notify"); <strong>ntfmngr.notify(NOTIFY_MESSAGE, myNotification); </strong><pre name="code" class="java"><strong>//NOTIFY_MESSAGE为notification的key,可以根据key来取消</strong>}
必须加入相应的权限才有震动
<uses-permission android:name="android.permission.VIBRATE" />
可以这样来取消notication:
if (ntfmngr != null) { ntfmngr.cancelAll(); }