////
TOP目次
2012年09月04日

Xperia GX SO-04D レビュー(不具合)


先日GalaxyからXperia GXに機種変更しました

現在自分が使用中に発生した不具合です

・SPモード画面で画面右下及び下に白い線が表示される
(キャプチャを撮ってもなぜか表示されていませんw)
・タイマー使用時にスリープに入らない!
・結構熱くなるww(40℃程度)

順次追加予定
スポンサードリンク

posted by kenken at 15:01 | Comment(0) | TrackBack(0) | その他 | このブログの読者になる | 更新情報をチェックする
2012年07月12日

ステータスバーに情報を通知する


ステータスバーに情報を通知するには
ノーティフィケーション(Notification)
ノーティフィケーションマネージャ(NotificationManager)を使用します

NotificationとはAndroidのホーム画面最上段のステータスバーに表示される物で
例えば、バックグラウンドでメールを受信した時に
アイコンを出して新規メールがある事をユーザに伝えるために使用されます

一方Notification ManagerはNotificationを管理し
Notificationを画面に表示、非表示をするためのマネージャークラスです
Notification Managerにはコンストラクタは存在せずインスタンスは
getSystemService(NOTIFICATION_SERVICE)で取得します

ステータスバーに情報を通知する
実際にステータスバーに通知を表示させてみたいと思います
まずNotificationManagerの参照を取得します
getSystemService(NOTIFICATION_SERVICE);
で取得しに行きます

次にNotificationクラスを生成します
これは new Notificationで作成します

そしてnotificationが選択された場合に発行するintentをPendingIntentを作成します
これは表示されたアプリ一覧を選択したときに
そのアプリに移動する(インテント)動作を設定しています

最後に通知する情報をsetLatestEventInfoにて設定します

実際のプログラムを以下に示します
作成したのを実行するとステータスバーに通知が出ます
その通知を選択するとアプリ一覧が表示され
それを押すと押したアプリにジャンプするものです

MainActivity.java
package blog.test;

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 MainActivity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		// PendingIntentの生成
		Intent intent = new Intent(Intent.ACTION_VIEW);
		PendingIntent pendIntent = PendingIntent.getActivity(this, 0, intent, 0);
		// NotificationManagerのインスタンスを取得
		NotificationManager notifManager =
				(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
		// Notificationのインスタンスの生成
		Notification notif = new Notification();
		//通知の際のアイコン設定
		notif.icon = R.drawable.ic_launcher;
		notif.tickerText = "通知です";
		notif.setLatestEventInfo(getApplicationContext(), "タイトル:アプリ名",
				"メッセージ:これは通知情報です", pendIntent);
		// Notificationの通知
		notifManager.notify(R.string.app_name, notif);
	}
}

実際に実行してみました
まずは通知領域にメッセージとアイコンが出てきます
今回はアイコンを設定していないのでドロイド君が出てきました
device132.png

通知領域を広げると作成メッセージとタイトルが表示されます
device133.png

選択するとアプリ一覧が表示されます
(取得アプリがいまいちですw修正予定ww)

またNotificationManagerはシンプルですが用途は多岐にわたります
バイブレーションを動作させることなどもできます

他の使用方法も作成予定です

スポンサードリンク

posted by kenken at 14:55 | Comment(0) | TrackBack(0) | イベント ステータスバー | このブログの読者になる | 更新情報をチェックする