23-11-1395، 05:06 ب.ظ
سلام
من یه آلارم منیجر نوشتم که در فاصله های زمانی تعریف شده براش یه broadcastReciver ایی رو اجرا کنه و مثلا یه نوتیفیکیشن تست بفرسته اما فقط برای اولین بار که اجراش میکنم کار میکنه بعدش توو اون فاصله های زمانی که گفتم بهش اجرا نمیکنه broadcast و البته این مشکل و توو اندروید 6 بهش برخورد کردم و از اندروید 4 به قبل درست کار میکنه و روو اندروید 5 هم تست نگرفتم ببینم همچین مشکلی اونجا هم هست یا
من کد هامو در ادامه میزارم خود پروژه رو هم در انتها میزارم
ممنون میشم اگه راهنماییم کنید که مشکل از کجاست
دانلود سورس
من یه آلارم منیجر نوشتم که در فاصله های زمانی تعریف شده براش یه broadcastReciver ایی رو اجرا کنه و مثلا یه نوتیفیکیشن تست بفرسته اما فقط برای اولین بار که اجراش میکنم کار میکنه بعدش توو اون فاصله های زمانی که گفتم بهش اجرا نمیکنه broadcast و البته این مشکل و توو اندروید 6 بهش برخورد کردم و از اندروید 4 به قبل درست کار میکنه و روو اندروید 5 هم تست نگرفتم ببینم همچین مشکلی اونجا هم هست یا
من کد هامو در ادامه میزارم خود پروژه رو هم در انتها میزارم
ممنون میشم اگه راهنماییم کنید که مشکل از کجاست
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void startAlarm_onClick(View view) { Intent alarmIntent = new Intent(this, AlarmReciver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0); AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); if(Build.VERSION.SDK_INT < 23){ manager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 900000, pendingIntent); } else{ manager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, 900000, pendingIntent); } } }
public class AlarmReciver extends BroadcastReceiver { public AlarmReciver() { } @Override public void onReceive(Context context, Intent intent) { setNotification(context, "test", 1); } private void setNotification(Context context, String message, int id) { NotificationCompat.Builder builder = new NotificationCompat.Builder(context) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle("test") .setContentText(message) .setSound(Uri.parse("android.resource://" + context.getPackageName() + "/" + R.raw.noti_sound)) .setLights(Color.BLUE, 1000, 300) .setAutoCancel(true); Intent notificationIntent = new Intent(context, MainActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(context, id, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(contentIntent); NotificationManager manager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE); manager.notify(0, builder.build()); } }
دانلود سورس