بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

فعال شدن BroadcastReceiver بعد از نصب برنامه و بدون نیاز به روشن خاموش شدن گوشی چجوریه؟

مدیریت گفتگو
سعید 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام.

فعال شدن BroadcastReceiver بعد از نصب برنامه و بدون نیاز به روشن خاموش شدن گوشی چجوریه؟

تو حالت BOOT_COMPLETED تا وقتی گوشی خاموش روشن نشه فعال نمیشه.

نظرات

میرحسین 10 سال پیش
برای چه کاری میخواهید برودکست رو؟ اگه تغییرات بیرون برنامتون میخواهید از طریق برودکست اعمال بشه باید اکشنش رو نامی بذارید در منیفست که وقتی از نوتیفیکیشن صدا زده شد کلاس BroadcastReceiver اجرا بشه
کاشی زاده 10 سال پیش
سلام ، برودکست فعال هست و ربطی به ریست شدن نداره ، BOOT_COMPLETED برای زمانی هست که تازه گوشی روشن میشه و Android لود میشه .
سعید 10 سال پیش
ولی واسه من تا وقتی که روشن خاموش نشه گوشیم کار نمیکنه
کاشی زاده 10 سال پیش
خاصیت این ریسیور همین هست برای زمانی هست که گوشی بوت میشه .
سعید 10 سال پیش
خوب من که میخوام تا اپ نصب شد فعال بشه باید چیکار کنم؟ باید تو یه اکتیویتی شی جدید از اون بسازم؟
کاشی زاده 10 سال پیش
این ریسیور رو برای چکاری میخواید استفاده کنید ؟ از کارایی اون اطلاعی دارید ؟
سعید 10 سال پیش
من یه سرویس نوشتم که میاد و پوش نوتیفیکیش از سایتم میگیره و نشون میده.اوناش درستن.من میخوام هر 1 دقیقه یک بار این سرویس اجرا بشه حتی زمانی که اپ من در حال اجرا نیست .
کاشی زاده 10 سال پیش
خب این ربطی به این ریسیور نداره کار این ریسیور این هست که هر زمان که دستگاه بوت شد خبر بده . برای اینکه هر دقیقه یکبار اینکارو انجام بدید یک سرویس بنویسد .

پاسخ‌ها 1

سعید 10 سال پیش

میخوام یه سرویس رو صدا بزنم بعد شروع کنه به نوتیفیکیشن گرفتن از سرور خودم 

ممنون میشم بیشتر توضیح بدید.البته سرویس رو نوشتم و داره درست کار میکنه.فقط این اجرای BroadcastReceiver  مشکل داره که میادو بعد از روشن خاموش کردن گوشی فعال میشه.

 public class BootCompleteReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, final Intent intent) {

      Intent serviceLauncher = new Intent(context, TimeService.class);
      context.startService(serviceLauncher);
      Log.v("TEST", "Service loaded at start");
      Toast.makeText(context,"Service loaded at start",Toast.LENGTH_LONG).show();


      Intent myIntent = new Intent(context, TimeService.class);
      myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
      App.alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),60000,pendingIntent);

      /*Intent alarmIntent = new Intent(context, TimeService.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, 0);
        AlarmManager manager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        int interval = 8000;
        manager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), interval, pendingIntent);
        Toast.makeText(context, "Alarm Set", Toast.LENGTH_SHORT).show();*/

    }
}

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .