PDA

View Full Version : بسته شدن سرویس در گوشی های هوآوی



m1368a1
دوشنبه 10 مهر 1396, 12:44 عصر
من یک برنامه دارم که یک سرویس را فعال می کنه می خواهم گوشی وقتی صفحه اش خاموش می شه سرویس فعال بمونه و بسته نشه در گوشی سامسونگ که امتحان می کنم مشکلی ندارد ولی در هوآوی بسته می شه
بعدا در هوآوی battery manager و در protected apps لیستی از تمام برنامه ها است که برنامه خودم را از آن لیست انتخاب می کنم وتیکش را به صورت دستی می زنم مشکلش حل می شه ولی من می خواهم با کد نویسی این کار رو بکنم که تیک برنامه به صورت protected apps به صورت خودکار زده بشه با این کار سرویس بعد از خاموش شدن صفحه باز به کار خودش اذامه می دهد لطفا راهنمایی بفرمایید جست و جو تو گوگل زیاد کرده ام فقط این راه حل که خودم گفتم جواب داد

اگر برنامه کوچکی که یک سرویس را اجرا می کند به همین طریق که گفتم ارسال بکنید بهتر می شه فهمید تشکر

winner20
چهارشنبه 12 مهر 1396, 20:18 عصر
من هم توی برنامم مشکلی مشابه همین مشکل رو داشتم و به روشی رسیدم که با نمایش یه اعلان سرویسو زنده نگه میداره،البته پیشنهاد میکنم اختبارو به کاربر بدید که این اعلان نمایش داده شه یا نه چون ممکنه براش آزار دهنده باشه
به این کد توجه کنید،این کد توی سرویس باید باشه:


if (setting.getBoolean("flag_stable_mode", true)) {

Intent notificationIntent = new Intent(this, DisableStableMode.class);//DisableStableMode.class classe activiti i ast ke ba'd az click rooye notification bayad baz shavad
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_N EW_TASK);
PendingIntent mContentIntent = PendingIntent.getActivity(getBaseContext(),
1, notificationIntent, 0);//ex1: oon 1 request id ast ke nabayad 0 bashad
//request code in nabayad jaye digei az barname be kar bore shode bashe
//notificatione jadid agar request code yeksani ba ghabliye dashte bashad jaygozinash mishavad


Notification notification = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.on)
.setContentTitle(getString(R.string.app_name)).set ContentText(getString(R.string.stable_mode))
.setContentIntent(mContentIntent).build();


startForeground(1, notification);

چند نکته:
توی خط اول اینجا من از شیرد پریفرنس چک میکنم که کاربر گفته حالت پایدار فعال باشه یا نه که پیشفرضش بله هست و اگه کاربر بخواد میتونه با لمس نوتیفیکیشن بره و توی اکتیویتی غیرفعالسازی این حالت بره
نکته دوم اینکه بنده کامنت نوشتم ولی اینکه 100درصد همشون درستن یا نه رو مطمئن نیستم :لبخند:

m1368a1
چهارشنبه 12 مهر 1396, 22:46 عصر
این کد را استفاده کردم در گوشی هوآوی ولی باز با خاموش شدن صفحه، سرویس بسته شد نرم افزارهایی مثل instagram و face book در قسمت قبل که گفتم به صورت پیش فرض تیک protected app را خورده اند باز فکر می کنم اگر قطعه کدی مربروط به تنظیم protected app پیدا کنید بهتر باشد از sticky هم اسفاده کرده ام

winner20
چهارشنبه 12 مهر 1396, 23:42 عصر
این کد را استفاده کردم در گوشی هوآوی ولی باز با خاموش شدن صفحه، سرویس بسته شد نرم افزارهایی مثل instagram و face book در قسمت قبل که گفتم به صورت پیش فرض تیک protected app را خورده اند باز فکر می کنم اگر قطعه کدی مربروط به تنظیم protected app پیدا کنید بهتر باشد از sticky هم اسفاده کرده ام
برنامه ای که برنامه های دیگه رو ببنده تو گوشیتون دارید؟
و دو نکته،اول اینکه آیا نوتیفیکیشن نمایش داده شد؟
و دوم اینکه return START_STICKY توی سروریستون استفاده کردید؟

m1368a1
پنج شنبه 13 مهر 1396, 00:49 صبح
خیر
نوتیفیکیشن داد
سومی sticky استفاده کرده ام

m1368a1
پنج شنبه 13 مهر 1396, 00:56 صبح
کد داخل صفحه کمک می کند ولی مشکل را کامل برطرف نمی کند
https://stackoverflow.com/questions/31638986/protected-apps-setting-on-huawei-phones-and-how-to-handle-it/35220476#35220476