adakoda:[Android] Simple Battery Status を公開しました
http://www.adakoda.com/adakoda/2010/06/android-simple-battery-status.html
を見て、X06HTに入れてみたらアイコンだけで数字が出ない。
「動きません><」とかTwitter突っ込んじゃったものの、X06HTを持ってない方に投げっぱしもアレだしNotification.numberの存在を始めて知ったので試してみることに。
package test.youten;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
public class NotificationNumberActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
NotificationManager mNM;
mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Notification notification;
int[] ids = {
R.string.tickerText0,
R.string.tickerText1,
R.string.tickerText2,
R.string.tickerText3,
R.string.tickerText4,
R.string.tickerText5,
R.string.tickerText6,
R.string.tickerText7,
R.string.tickerText8,
R.string.tickerText9,
R.string.tickerText10,
};
// tickerText0
for(int i = 0; i < 10; i++)
{
notification = new Notification(R.drawable.icon, getText(ids[0]), System.currentTimeMillis());
notification.number = i;
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, test.youten.NotificationNumberActivity.class),
Intent.FLAG_ACTIVITY_NEW_TASK);
notification.setLatestEventInfo(this, "contentTitle", "contentText", contentIntent);
mNM.notify(ids[0], notification);
}
// tickerText1-10
for(int i = 1; i <= 10; i++)
{
notification = new Notification(R.drawable.icon, getText(ids[i]), System.currentTimeMillis());
notification.number = i;
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, test.youten.NotificationNumberActivity.class),
Intent.FLAG_ACTIVITY_NEW_TASK);
notification.setLatestEventInfo(this, "contentTitle", "contentText", contentIntent);
mNM.notify(ids[i], notification);
}
}
}
アホコードです。
【解説】
・Notification.numberを変えながら、同一Notificationを10回発行しています。
・続けてNotification.numberを変えながら、IDの違うNotificationを10回発行しています。
・結果。
・HTC Desire X06HTではNotification.numberの指定ではステータスバーの欄に数字は表示されませんでした。
・Nexus Oneでは同一Notificationでは「Notification.number」が加算されて表示されました。
○HTC Desire X06HT(Android 2.1 Eclair)



○Nexus One(Android 2.2 Froyo)


