1. 程式人生 > >Android Notification狀態欄通知

Android Notification狀態欄通知

文章 震動 dsm 布局 markdown test sequence nag bool

沒有添加額外的震動及聲音效果,這裏直接實現了通知的功能,看效果吧: MainActivity.java
package com.example.notification;

import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

public NotificationManager mNotificationManager;

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// 1-獲得MotificationManager的引用。

String ns = Context.NOTIFICATION_SERVICE;
mNotificationManager = (NotificationManager) getSystemService(ns);

// 2-實例化Notification:

int icon = R.drawable.new_mail;
CharSequence tickerText = "Hello";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText,
when);

// 3-定義Notification,如顯示icon、目標intent等信息

Context context = getApplicationContext();
CharSequence contentTitle = "My notification";
CharSequence contentText = "Hello World!";
Intent notificationIntent = new Intent(v.getContext(),
MessageActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(
v.getContext(), 0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle,
contentText, contentIntent);

// 4-傳遞給Manager.

final int HELLO_ID = 1;
mNotificationManager.notify(HELLO_ID, notification);
}
});

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

}
MessageActivity.java
package com.example.notification;

import android.app.Activity;
import android.app.NotificationManager;
import android.content.Context;
import android.os.Bundle;

public class MessageActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_message);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.cancel(1);//這裏實現了,點擊消息後,自己主動清除消息的功能。
}
}
XML布局文件就不寫了。非常easy的~ 這裏沒有實現通知到達時的提示效果,如震動、提示音之類。將在 Android Notification實現推送消息過程中接受到消息端有聲音及震動及亮屏提示 文章實現這樣的功能
‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); });

    Android Notification狀態欄通知