Imposta notifica per data e ora specifici

Sono un principiante nello sviluppo di applicazioni Android. Ora voglio impostare una notifica alerm nella mia applicazione. Ho alcune date specifiche e voglio ricevere notifiche a quelle date in un determinato momento. Come posso fare questo? Grazie in anticipo

  • Unità che si blocca sul gioco, molto probabilmente infinita Mentre loop, ma non è in grado di individuare il problema
  • Come submit una string String come coppia di valori di nome di base come HTTPPOST?
  • Android - Scorri per eliminare RecyclerView
  • Come salvare lo stato dell'object di row RecyclerView?
  • Sempre ottenendo lo stato della session: CLOSED_LOGIN_FAILED, token: {Token AccessToken: ACCESS_TOKEN_REMOVED in facebook android sdk3.0.
  • Automazione di Android APK con Espresso
  • One Solution collect form web for “Imposta notifica per data e ora specifici”

    utilizzare la class AlarmManager che esegue un codice in background. inserisci questo codice nell'attività principale:

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.your layout); boolean alarm = (PendingIntent.getBroadcast(this, 0, new Intent("ALARM"), PendingIntent.FLAG_NO_CREATE) == null); if(alarm){ Intent itAlarm = new Intent("ALARM"); PendingIntent pendingIntent = PendingIntent.getBroadcast(this,0,itAlarm,0); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.SECOND, 3); AlarmManager alarme = (AlarmManager) getSystemService(ALARM_SERVICE); alarme.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),60000, pendingIntent); } } 

    creare una nuova class che controlla se è all'ora di notificare.

     public class BroadcastManager extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { try { String yourDate = "04/01/2016"; String yourHour = "16:45:23"; Date d = new Date(); DateFormat date = new SimpleDateFormat("dd/MM/yyyy"); DateFormat hour = new SimpleDateFormat("HH:mm:ss"); if (date.equals(yourDate) && hour.equals(yourHour)){ Intent it = new Intent(context, MainActivity.class); createNotification(context, it, "new mensage", "body!", "this is a mensage"); } }catch (Exception e){ Log.i("date","error == "+e.getMessage()); } } public void createNotification(Context context, Intent intent, CharSequence ticker, CharSequence title, CharSequence descricao){ NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); PendingIntent p = PendingIntent.getActivity(context, 0, intent, 0); NotificationCompat.Builder builder = new NotificationCompat.Builder(context); builder.setTicker(ticker); builder.setContentTitle(title); builder.setContentText(descricao); builder.setSmallIcon(R.drawable.yourIcon); builder.setContentIntent(p); Notification n = builder.build(); //create the notification n.vibrate = new long[]{150, 300, 150, 400}; n.flags = Notification.FLAG_AUTO_CANCEL; nm.notify(R.drawable.yourIcon, n); //create a vibration try{ Uri som = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); Ringtone toque = RingtoneManager.getRingtone(context, som); toque.play(); } catch(Exception e){} } 

    nel manifesto:

      <receiver android:name="BroadcastManager" android:label="BroadcastReceiverAux"> <intent-filter> <action android:name="ALARM" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> 

    dare questa authorization:

     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.