رفتن به مطلب
  • 0

بررسی بسته بودن برنامه


DexterFstone

سوال

سلام چطوری میشه فهمید که کاربر برنامه را بسته. (خروج کرده از طریق task و صفحات اخیر) Activity_Pause تست کردم کاربردی نداشت

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در ۱۴۰۱/۴/۱۲ در 18:23، امیرحسین قاسمی گفته است:

همانطور که گفتم این کد رو باید توی یه سرویس پایدار استفاده کنین.

سرویس پایدار چطوری میشه؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۱/۴/۱۲ در 07:51، DexterFstone گفته است:

سرویس پایدار چطوری میشه؟

در نسخه های جدید اندروید باید یه دسترسی خاصی بگیرید اگه اشتباه نکنم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برای این کار راه استادنداردش استفاده از LifecycleObserver هست. باید توی کلاس application یه کلاس به شکل زیر بسازید

private class AppLifecycleListener:DefaultLifecycleObserver{
        override fun onStart(owner: LifecycleOwner){
            super.onStart(owner)
             Logger.loge("برنامه باز شد")
        }
        override fun onStop(owner: LifecycleOwner){
            super.onStop(owner)
            Logger.loge("برنامه بسته شد")
        }
      
    }

تو متد onCreate هم با شکل زیر رجیستر کنید

 ProcessLifecycleOwner.get().lifecycle.addObserver(AppLifecycleListener())

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۱/۴/۱۱ در 22:23، محمدرضا شاهپیری گفته است:

برای این کار راه استادنداردش استفاده از LifecycleObserver هست. باید توی کلاس application یه کلاس به شکل زیر بسازید

private class AppLifecycleListener:DefaultLifecycleObserver{
        override fun onStart(owner: LifecycleOwner){
            super.onStart(owner)
             Logger.loge("برنامه باز شد")
        }
        override fun onStop(owner: LifecycleOwner){
            super.onStop(owner)
            Logger.loge("برنامه بسته شد")
        }
      
    }

تو متد onCreate هم با شکل زیر رجیستر کنید

 ProcessLifecycleOwner.get().lifecycle.addObserver(AppLifecycleListener())

 

استاد این کدی ک نوشتین مال B4A یا استودیو؟ من برای B4A میخواستم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

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

حالا توی اون سرویس هر موقع که خواستیم چک کنیم برنامه باز هست یا بسته، باید بسته یا باز بودن تک تک اکتیویتی هارو چک کنیم:

If IsPaused(Main) Then
	ToastMessageShow("اکتیویتی بسته است",False)
Else
	ToastMessageShow("اکتیویتی باز است",False)
End If

کد بالا چک میکنه اکتیویتی Main باز هست یا بسته! همانطور که گفتم این کد رو باید توی یه سرویس پایدار استفاده کنین.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...