タグ「Notification」 の検索結果(1/1)

2010年6月 2日

HTC Desire X06HTではNotification.numberで数字が表示されない

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)