1

私はアンドロイドが新しく、アラームマネージャとレシーバを使用して毎日通知するアプリケーションと通知も開発しています。デバイスがオフになっている場合しかし、今、私は5分ごとまでに通知を表示する必要があり、私は任意の通知(私はそれが永久に終了思う)と5分ごとに通知を受け取るにはどうすればいいですか?アンドロイドの通知バーからその通知を起動する必要がありますか?

  • を取得していない午前、二つの問題

    1. に直面していますユーザーは通知バーからの通知を使用してアプリを起動しますが、わかりません。

      public class AlarmReciever extends WakefulBroadcastReceiver { 
      
          AlarmManager alarmManager; 
          PendingIntent pendingIntent; 
          int RequestCode =777; 
      
          DBHelper helper; 
          SQLiteDatabase database; 
          SQLiteStatement statement; 
          Cursor cursor; 
          int datacount=0; 
      
          public void onReceive(Context context, Intent intent) { 
           String rec = intent.getDataString(); 
           NotifyMessage(context); 
          } 
      
          public void NotifyMessage(Context context){ 
           Intent intent = new Intent(context, NotificationTabs.class); 
           intent.putExtra("Medicine", "Medicine"); 
           PendingIntent pIntent = PendingIntent.getActivity(context, 0, intent, 
           PendingIntent.FLAG_UPDATE_CURRENT); 
      
          NotificationCompat.Builder builder = new NotificationCompat.Builder(
           context) 
          .setSmallIcon(R.drawable.ic_launcher) 
          .setTicker("Take medicine") 
          .setContentTitle(context.getString(R.string.notificationtitle)) 
          .setContentText("Take medicine") 
          .addAction(R.drawable.ic_launcher, "Action Button", pIntent) 
          .setContentIntent(pIntent) 
          .setAutoCancel(true); 
      
      
           NotificationManager notificationmanager = (NotificationManager) context 
          .getSystemService(Context.NOTIFICATION_SERVICE); 
      
          notificationmanager.notify(0, builder.build()); 
      
      } 
      

    私は、これらの問題を解決する方法についていくつかの助けを得るていただけますか?

  • +0

    フォーマットを少し修正しました。 これらの問題の解決策を見つけるために何を試しましたか?あなたが言及した問題はかなり一般的であり、いくつかの素早い研究によって解決策はかなり簡単に見つけることができます。 「Androidでアラームを繰り返す」を検索してみてください。 –

    答えて

    0

    2番目problem.Pleaseがあなたの活動に次のコードを追加するために、私はコンセプトの小型実証を行っている。ここで

    Intent notificationIntent=new Intent(context,DisplayNotification.class); 
         PendingIntent contentIntent=PendingIntent.getService(context,0,notificationIntent,PendingIntent.FLAG_CANCEL_CURRENT); 
    
         AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
         am.cancel(contentIntent); 
         am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),(AlarmManager.INTERVAL_FIFTEEN_MINUTES)/3, contentIntent); 
    

    は私のDisplayNotificationサービスクラスです:

    public class DisplayNotification extends Service { 
        private final static String TAG = "ShowNotification"; 
    
        @Override 
        public void onCreate() { 
         super.onCreate(); 
         Intent mainIntent=new Intent(this,MainActivity.class); 
         NotificationManager notificationManager= (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE); 
    
         Notification noti=new NotificationCompat.Builder(this) 
           .setAutoCancel(true) 
           .setContentIntent(PendingIntent.getActivity(this,0,mainIntent,PendingIntent.FLAG_UPDATE_CURRENT)) 
           .setContentTitle("Test Notification " + System.currentTimeMillis()) 
           .setContentText("Cricket news Dhoni is bold") 
           .setDefaults(Notification.DEFAULT_ALL) 
           .setSmallIcon(R.drawable.bell) 
           .setTicker("match update") 
           .setWhen(System.currentTimeMillis()) 
           .build(); 
         notificationManager.notify(0, noti); 
    
         Log.i(TAG, "Notification created"); 
        } 
    
        @Nullable 
        @Override 
        public IBinder onBind(Intent intent) { 
         return null; 
        } 
    } 
    

    レシーバクラスのコード:

    public class MyBroadcastReceiver extends BroadcastReceiver { 
        MediaPlayer mp; 
        @Override 
        public void onReceive(Context context, Intent intent) { 
         mp=MediaPlayer.create(context, R.raw.alrm ); 
         mp.start(); 
         Toast.makeText(context, "Alarm....", Toast.LENGTH_LONG).show(); 
        } 
    } 
    

    マニフェストで受信者を宣言してください:

    <uses-permission android:name="android.permission.VIBRATE" /> 
    
    
        <receiver android:name="MyBroadcastReceiver" > 
          </receiver> 
    
    +0

    そのように動作していません..このようなコードを変更したときに通知が届かなかった – latha

    +0

    あなたのマニフェストでサービスを宣言しましたか?また、リクエストの許可も必要です:use-permission android:name = "com.android.alarm.permission .SET_ALARM "/> ... – Lampard

    +0

    と私はまた、どのようにカムは、そのコードを通過する受信者からのメッセージを取得する必要がありますか? – latha

    関連する問題