هدایت خودکار به “برنامههای محافظت شده(Protected Apps)” هوآوِی در B4A
اگر سرویس یا برادکست رسیور ای در برنامه تون دارید شاید به این مورد که اون سرویس مورد نظر در گوشی های Huawei دچار مشکل میشه برخوردید، یکی از دلایل این اتفاق اینه که هوآوی دارای بخشی به نام “برنامه های محافظت شده” هست که تا زمانی که اپلیکیشن شما در اون قسمت “تیک” نخوره گوشی اجازه فعالیت در پس زمینه رو بهش نمیده.
چند مدت پیش درباره ماندگار نموندن سرویس در گوشی های هوآوی بعد خاموش شدن صفحه گوشی در این پست از کانال تلگرامی کافه توسعه صحبت کردیم.
که این امکان در کتابخانه PNAlarmManager موجود هست.
اما به درخواست کاربران این متد رو به تنهایی قرار دادیم تا بتونید در برنامه هاتون استفاده کنید.
ℹ️ بنابر پست تلگرامی بالا ، اگر سرویس ای دارید که توی گوشی های هوآوی به مشکل برمیخوره باید کاربر رو تشویق کنید که اگر میخواد برنامه بدرستی کار کنه، باید وارد بخش “تنظیمات برنامههای محافظت شده” بشه و تیک برنامه شمارو بزنه.
✅ این متد هم کارش اینه که (اگر پیدا کردن این قسمت تنظیمات سخته) میتونید خودتون کاربر رو به اون بخش هدایت کنید
۱- کلاس PNhuaweiProtectedApps رو دانلود(از حالت ZIP خارج کنید) و فایل .bas رو از منوی Project>Add Existing Moudule به پروژتون اضافه کنید.
۲- کتابخانه JavaObject رو فعال کنید
۳- با کد زیر تشخیص میدیم که آیا گوشی مورد نظر هوآوی هست یاخیر، اگر بود به تنظیمات اون بخش هدایتش میکنیم:
Dim pnhuawei As PNhuaweiProtectedApps pnhuawei.Initialize If pnhuawei.DeviceIsHuawei Then pnhuawei.gotoProtectedApps
مواردی مثل نشون دادن یه دیالوگ(برای توضیح و تشویق کاربر)قبل از هدایت به تنظیمات به عهده خودتون هست.