- ブロードキャスト レシーバーを実装し、OnReceive() メソッドで通知マネージャー コードを記述します。
- カスタム着信音は通知で再生されています。通知をクリックすると音が止まる
私が失敗した問題、アプリケーションが開いている場合、通知は通知バーに表示されません。通知を期待して、View の UI を更新します [つまり、着信音を停止するための STOP ボタンを表示します。]
通知コード
public void sendNotification(Context context, String title, String message, String fileName)
{
final String ns = Context.NOTIFICATION_SERVICE;
final NotificationManager notificationManager = (NotificationManager)context.getSystemService(ns);
final Notification notification = new Notification(R.drawable.ic_launcher, context.getString(R.string.SalahClock), System.currentTimeMillis());
Intent intent = new Intent( context, Main.class);
intent.putExtra("isAlarmPlaying", true);
//Pending event to open our Application Screen when this notification is clicked
final PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent , 0);
notification.setLatestEventInfo(context, title, message, contentIntent);
notification.sound = Uri.parse("android.resource://path..");
notification.flags |= Notification.FLAG_INSISTENT;
notificationManager.notify(1, notification);
}
受信時
public void onReceive(Context context, Intent intent) {
serviceHandler = new Handler(context);
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Salah");
wl.acquire();
serviceHandler.sendNotification(context, "", "", "");
wl.release();
}
ありがとう、
サリック