2012-07-11 17 views
6

自分のアプリケーションにAndroidのローカル通知を使用したいと思います。 アプリが24時間開いていない場合は、ローカル通知が送信されます。 どのようにすればいいか教えてください。Androidでのローカル通知の送信

+0

なぜ私はあなたがサービスを作成して時刻を確認すべきだと思うが、通知を示すためにuはそれについて読んでなければなりませんuはアラーム – Zamani

+0

を使用してはいけません。 =) – Gorets

+0

Gorets、あなたは大丈夫です。アプリが閉じられたときに通知がトリガーされるので、何らかのサービスを使用する必要があります。 –

答えて

4

参照:Local Notifications in Android? アラームマネージャを使用してインテントを1時間ごとにスケジュールすることができます。

+1

クイックレスポンスありがとうございますが、アプリが閉鎖されている場合にアラームマネージャーを使用することができます。アプリが閉鎖されている場合、通知はどのようにトリガーされますか? –

+0

はい、アラームマネージャは、アプリが閉じている場合でも使用できます。しかし、アプリケーションがインストールされているときにのみ、アラームマネージャーを設定することはできません。アプリケーションがロードされているとき(atleast once)(http://stackoverflow.com/a/8492846/986105を参照)。これを見て、アラームマネージャを使用して通知を作成してください:http://smartandroidians.blogspot.com/2010/04/alarmmanager-and-notification-in.html – KrispyDonuts

-1

あなたはタイトルの単一の通知で複数行のテキスト、ティッカー、アイコン、サウンド..次のコードを使用して、ビッグデータ、すなわちでローカル通知を発射する場合..私はそれはあなたを助けると思います。..

 Intent notificationIntent = new Intent(context, 
       ReminderListActivity.class); 



     notificationIntent.putExtra("clicked", "Notification Clicked"); 
     notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP 
       | Intent.FLAG_ACTIVITY_SINGLE_TOP); // To open only one activity 


      // Invoking the default notification service 

      NotificationManager mNotificationManager; 
      NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
        context); 
      Uri uri = RingtoneManager 
        .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
      mBuilder.setContentTitle("Reminder"); 
      mBuilder.setContentText("You have new Reminders."); 
      mBuilder.setTicker("New Reminder Alert!"); 
      mBuilder.setSmallIcon(R.drawable.clock); 
      mBuilder.setSound(uri); 
      mBuilder.setAutoCancel(true); 

      // Add Big View Specific Configuration 
      NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle(); 
      String[] events = null; 

       events[0] = new String("Your first line text "); 
       events[1] = new String(" Your second line text"); 



      // Sets a title for the Inbox style big view 
      inboxStyle.setBigContentTitle("You have Reminders:"); 

      // Moves events into the big view 
      for (int i = 0; i < events.length; i++) { 
       inboxStyle.addLine(events[i]); 
      } 

      mBuilder.setStyle(inboxStyle); 

      // Creates an explicit intent for an Activity in your app 
      Intent resultIntent = new Intent(context, 
        ReminderListActivity.class); 

      TaskStackBuilder stackBuilder = TaskStackBuilder 
        .create(context); 
      stackBuilder.addParentStack(ReminderListActivity.class); 


      // Adds the Intent that starts the Activity to the top of the stack 


      stackBuilder.addNextIntent(resultIntent); 
      PendingIntent resultPendingIntent = stackBuilder 
        .getPendingIntent(0, PendingIntent.FLAG_CANCEL_CURRENT); 

      mBuilder.setContentIntent(resultPendingIntent); 
      mNotificationManager = (NotificationManager) context 
        .getSystemService(Context.NOTIFICATION_SERVICE); 


      // notificationID allows you to update the notification later on. 


      mNotificationManager.notify(999, mBuilder.build()); 
1
Intent intent = new Intent(context, yourActivity.class); 
    PendingIntent pIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

    NotificationCompat.Builder b = new NotificationCompat.Builder(context); 

    b.setAutoCancel(true) 
    .setDefaults(Notification.DEFAULT_ALL) 
    .setWhen(System.currentTimeMillis())   
    .setSmallIcon(R.drawable.ic_launcher) 
    .setTicker("notification")    
    .setContentTitle("notification") 
    .setContentText("notification") 
    .setDefaults(Notification.DEFAULT_LIGHTS| Notification.DEFAULT_SOUND) 
    .setContentIntent(pIntent) 
    .setContentInfo("Info"); 


    NotificationManager notificationManager = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE); 
    notificationManager.notify(1, b.build()); 
関連する問題