رفتن به مطلب

پژمان نیکروان

مدیر بازنشسته
  • تعداد ارسال ها

    3,660
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    104

تمامی مطالب نوشته شده توسط پژمان نیکروان

  1. سلام مرسی آقامحمدرضا عزیز دمتون گرم کمک بزرگی کردین به بچه های B4A 😍
  2. به به احسنت آقامحمدرضای عزیز واقعا کار خیلی خیلی مفیدی انجام دادین، شدیدا نیاز بود و خیلی ها درخواست میکردن، خدا قوت
  3. سلام میتونید از متد setExactAndAllowWhileIdle استفاده کنید تا ایکن ساعت نشون داده نشه اما یکمی ممکنه تاخیر داشته باشه و سر زمان اعلان نیاد. سلام مثالش کنار سورس هست و خیلی ساده هست. جایی رو سوال دارید مطرح کنید سلام، کار میکنه اما خب یه سری کارها نیازه که انجام بشه تو بعضی گوشی ها، اگر به تنظیمات اذان اپلیکیشن باد صبا مراجعه کنید میبینید که یک بخشی داره نوشته: "آیا پخش اذان در گوشی شما انجام نمیشود" بعد مدل های مختلف رو براش راهنمایی گذاشته و گفته بریم توی تنظیمات حلش کنیم. به هرحال این محدودیت های اندرویده. درگاه پرداخت مشکلی نداشت اما لینک خرید اصلاح شد.
  4. دیدین وقتی از بازار یه برنامه ای دانلود و نصب میکنید ازش یه میانبر میسازه براتون؟ ساخت میانبر از یه اپ خاص به صفحه Home گوشی: کتابخانه PNShortcutManager رو تیک بزنید و تابع زیر رو به اکتیویتی تون اضافه کنید: Sub cerateShortcut(pkgname As String) Dim pnsh As PNShortcutManager pnsh.Initialize Dim ph As Phone Dim pkgmng As PackageManager Dim i As Intent=pkgmng.GetApplicationIntent(pkgname) Dim b As BitmapDrawable b=pkgmng.GetApplicationIcon(pkgname) 'گرفتن آیکن اپ If ph.SdkVersion>=25 Then pnsh.AddWithIntent("shortcut1",i,pkgmng.GetApplicationLabel(pkgname),pkgmng.GetApplicationLabel(pkgname),"شورتکات غیرفعال است",b.Bitmap) Else pnsh.AddShortcutWithIntent_OldVersion(i,pkgmng.GetApplicationLabel(pkgname),b.Bitmap) End If ToastMessageShow("ایجاد شد",True) End Sub استفاده از تابع، مثلا از برنامه ShareIt یه میانبر ساختیم: cerateShortcut("com.lenovo.anyshare.gps") 'اپ share it
  5. مشاهده gif برای اندروید های 7.1 به بالا مشاهده gif برای اندروید 7 به پایین نصب فایل APK جهت تست حتما دموهای بالا رو مشاهده کنید. توضیحات: 1. ایجاد شورتکات(میانبر) از اکتیویتی خاص، برنامه خاص، یا اینتنت خاص با آیکن اختصاصی به صفحه اصلی - از اندروید قدیمی تا اندروید 8 به بالا 2. حذف یا disable کردن شورتکات مورد نظر 3. بهره‌وری از کلاس ShortCutManager خود اندروید برای 7.1 به بالا 4. توجه کنید که این کتابخانه روی انواع گوشی ها و اندروید ها تست شده و عمل میکنه، اگر احیانا روی گوشی شما کار نکرد مربوط به لانچر گوشی میشه و خود کتابخانه مشکلی نداره. برای اینکه مطمئن بشید میتونید برنامه هایی مثل #دیوار یا #بازار که میانبر ایجاد میکنن رو تست کنید که کار میکنه یا خیر. قیمت: 15,000 دریافت کتابخانه
  6. سلام. دقیقا هدف این کتابخانه همین بود که روی نسخه های جدید اندروید مشکلی نداشته باشه. از اندروید 2 پشتیبانی میکنه تا الی آخر. و خداروشکر به کمک دوستان که همش اشکالات کتابخانه رو بهم میگفتن همش آپدیت دادم و مشکلی ازاین بابت نیست. یکی از دوستان هم برنامه خودشون رو که معروف هم هست، مثل اینکه از PNAlarmManager استفاده کردن، کلا قرار بود اینکارو انجام بدن فکر کنم الان اعمال کردن. تقویم اذانگو و هواشناس شميم ياس - دانلود | نصب برنامه اندروید | کافه بازار
  7. سلام بله امکانش صددرصد هست. منتها این مورد رو باید خودتون زحمت بکشید و یکمی تلاش بفرمایید. کتابخانه هایی برای انتخاب تاریخ و ساعت موجود هستش اگه سرچ کنید. فعلا تا انتخاب زمان توسط کاربر و پیش برید تا بعد انشاالله اگه کمک خواستید همینجا یا از آیدی تلگرام بپرسید.
  8. سلام ممنون بابت مسابقه منم تو فکر مسابقه بودم، انشاالله بعد ازاین... امیدوارم منظور سوال رو درست متوجه شده باشم، چون گفتی فقط برای یک زبان بفرستیم من بیسیک فرستادم. پاسخ 1.zip
  9. کتابخانه به نسخه 1.40 ارتقا داده شد • تغییرات نسخه 1.40: 1- بهبود متد SetNewExcat در اندرویدهای 5 به بالا * کاملا شبیه به برنامه باد صبا عمل میکنه و مشکل تاخیر توی اندروید6 حل شد * 2- ساده تر شدن مثال کتابخانه نسخه جدید به ایمیل خریداران ارسال شد.
  10. سلام، بسیار عالی آقا محمدرضا بازهم مثل همیشه. ببخشید فقط من متوجه نشدم، الان اینجا ما وقتی سایز متن لیبل رو دادیم 24dp توی گوشی های مختلف اندازه متن تغییر میکنه؟ خودم فکر کنم آره چون dp هر گوشی مختص به سایز خودشه. حالا جای این خودمون مستقیم dip بدیم چطوره؟ چون من دیده بودم تو سایت مرجع ارل گفته بود سایز متن هارو اگه میخوای تنظیم بشه dip بدید. خسته نباشی
  11. سلام خسته نباشید محمدرضا جان. بسیار کاربردی و کم یاب بود. درضمن میشه با این کتابخانه توسط سیمکارت 2 هم تماس گرفت؟؟
  12. چکاریه آخه برای اینکار چرا میخواین از آلارم منیجر استفاده کنید؟ از همون تایمر استفاده کنید بهتره که. برای اینطور مواقع تایمر استاندارد تره.
  13. • تغییرات نسخه 1.20: 1- اضافه شدن متد AlarmAlreadyHasSet فهمیدن اینکه آلارم مورد نظر از قبل ست شده یا خیر توسط آیدی If pn.AlarmAlreadyHasSet("آیدی آلارم") Then 'این الارم با این آیدی از قبل ست شده است، البته ست کردن مجدد تداخلی ایجاد نمیکنه end if نسخه 1.20 به ایمیل خریداران ارسال شد.
  14. سلام خوبین. چیز خاصی نیست، کافیه فقط توی اکتیویتی یا هرجا که میخواین این عمل آغاز بشه کد زیر رو بنویسید: pn.setNewAlarmRepeating(1,60000,DateTime.Now+60000) حالا سرویسی که توی منیفست اسمش رو نوشتید از 1 دقیقه یکبار اجرا میشه و میتونید بگید فلان کار رو بکن: If StartingIntent.HasExtra("alarm") Then if StartingIntent.GetExtra("ID")=1 Then 'سرویس مورد نظر استارت بشه مثلا...' end if Else pn.setNewAlarmRepeating(1,60000,DateTime.Now+60000) End if کدهای بعد از Else برای اینه که میگیم هروقت گوشی خاموش و روشن شد دوباره تنظیم بشه. چرا میخواین استارتر رو هر 1دقیقه یکبار اجرا کنید؟ توی منیفست همچین کدی وجود داره: <string name="service_name">starter</string> بجای pnalarmreceiver نوشتم: starter
  15. سلام، کاستوم ویو زمانی فعال میشه که کتابخانه ای تیک خورده باشه که امکان ویو شدن رو داشته باشه. مثلا زمانیکه که کتابخانه Appcompat تیک بخوره فعال میشه.
  16. کتابخانه PNAlarmManager آپدیت شد. نسخه جدید هم به خریداران ایمیل شد.:DD:

    https://goo.gl/ABtgSI

  17. کتابخانه PNAlarmManager آپدیت شد، حتماً تغییرات رو مطالعه بفرمایید، چون خیلی ها گزارش مشکلاتی رو داده بودند. نسخه جدید به ایمیل خریداران ارسال شد. تغییرات نسخه 1.10 کتابخانه: 1- متد DeviceIsHuawei تشخیص اینکه آیا گوشی هوآوی و نسخه اندروید اون بالاتر از 21 هست یا خیر 2- متد GOTO_HuaweiSetting هدایت کاربر به بخش "برنامه های محافظت شده" در تنظیمات هوآوی. جهت درخواست تیک زدن برنامه برای پایداری آلارم ها در هوآوی قبل از صدا زدن این متد میتونید، با متد گزینه 1 تشخیص بدید گوشی هوآوی هست یاخیر. توضیحات بیشتر درباره مشکل در هوآوی ها: اینجا 3- متد setNewExact تنظیم آلارم دقیق در برخی از دستگاه ها مشاهده میشه دادن آلارم با متد "تنظیم آلارم تکرار شونده" با چنددقیقه تاخیر و یا زودتر انجام میشه. این متد مشکل رو برطرف کرده. این متد امکان تکرار شونده نداره، اما میتونید خودتون اینکارو انجام بدید. مثلا یکبار ست میکنید دفعات بعد که سرویس استارت شد مجددا برای مثلا 24ساعت آینده ست میکنید.(در سورس انجام شده) 4- گرفتن آیدی آلارم در سرویس درصورتی که چندین آلارم با آیدی های مختلف تنظیم می کنید میتونید در "سرویس دریافت آلارم" شرط گذاری های لازم رو با گرفتن آیدی آلارم انجام بدید: StartingIntent.GetExtra("ID") **همه موارد بالا در نمونه سورس جدید انجام شده**
  18. سلام آره دقیقا برای همینکار هست، هروقت الارم دریافت شد اون سرویس استارت میشه، نیازی نیست ماندگار بشه، اما خب startBoot=true باشه. سرویس خودتونو جایگزین کنید مشکلی نیست.
  19. این لینک سالمه مشکلی نداره https://www.mediafire.com/?f0n4p19vcv307qe
  20. نه هیچ مشکلی پیش نمیاد. ببینید تمامی آلارم هایی که ست میکنید، همون سرویسی رو که توی منیفست تهیه شده استارت میکنن. حالا اگه سرویس های دیگه ای دارید میتونید توی service_start سرویسی که توی منیفست تعریف شده سرویس های دیگرتون رو هم استارت کنید. ضمناً چندین اعلان میتونید ست کنید با تعریف یک متغیر، منتها باید آیدی هاشون رو متفاوت بگذارید. که من توی مثال همشون رو 0 گذاشتم.
  21. سلام. بله عرض کردم. اصلا کارش همینه و بعد از دریافت الارم درواقع سرویسی رو که تعیین کردید استارت میکنه و کاری با اکتیویتی نداره. وقتی کتابخانه رو تهیه بفرمایید کاملا متوجه میشید با نمونه سورس که به چه صورت هست. خیلی راحته. برنامه از شما توی منیفست اسم یک سرویس رو میخواد، تا وقتی آلارم دریافت شد اون سرویس رو استارت کنه: CreateResource(values, pnarr.xml, <resources> <!--اسم سرویسی که میخواین بعد از دریافت آلارم اجرا بشه--> <string name="service_name">pnalarmreceiver</string> </resources> ) خب شما میتونید بجاش اسم اون سرویس مورد نظر که میخواین هر 1دقیقه اجرا بشه بذارید. مثال تنظیم هر 1دقیقه یکبار براحتی: pn.setNewAlarmRepeating(0,60000,dateTime.Now) بازهم میگم خدمتون اگر تهیه بکنید روند کار رو میبینید که چقدر ساده هست.
  22. سلام عزیز. فرض میکنیم میخوایم زمانیکه اکتیویتی کریت شد این آلارم رو فعال کنیم، به این صورت میشه: Sub Globals Dim pn As PNAlarmManager End Sub Sub Activity_Create(FirstTime As Boolean) 'Activity.LoadLayout("Layout1")' Dim zaman As Long=DateTime.Add(DateTime.Now,0,0,15) pn.setNewAlarmRepeating(0,zaman-DateTime.Now,zaman) End Sub یه متغیر زمان تعریف شده و از زمان حالا + 15روز شده. و حالا به ترتیب پارامتر های متد setNewAlarmRepeating: 0: آیدیش هست که بعد برای خاموش کردن ازش استفاده میکنیم zaman-DateTime.now: اینتروال(interval) هست که روی 15 روز تنظیم کردیم. پارامترسوم، zaman: گفتیم از 15روز آینده شروع کن.
×
×
  • اضافه کردن...