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

ریست شدن اکتیویتی (ساخت مجدد اکتیویتی) landscape زمان قفل کردن دستگاه


fun_code

سوال

سلام دوستان

 

بنده یک برنامه بصورت افقی ساختم (landscape).

وقتی در برنامه هستیم و گوشی رو قفل می کنیم در کمال تعجب یکبار رویداد pause اجرا میشه و مجددا در حالیکه گوشی قفل هست رویداد activity_create و activity_resume اجرا میشن و وقتی گوشی رو از قفل در میارم اکتیویتی ریست شده !

چطور این مشکل رو برطرف کنم ؟

 

روند اجرای رویدادها رو در زیر قرار میدم تا راحت تر متوجه منظورم بشید.

با ورود به اکتیویتی این رویداد ها اجرا میشن
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
زمان قفل کردن دستگاه این رویداد ها اجرا میشن
** Activity (main) Pause, UserClosed = false **
** Activity (main) Create, isFirst = false **
** Activity (main) Resume **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Create, isFirst = false **
** Activity (main) Resume **

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

(الان به زور برطرفش کردم اما روش منطقی ای نیست)

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

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

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

درود

من اصلا از این کدهای شما سر در نیاوردم.

وقتی که گوشی قفل میشه که Activity Pause طبیعی هست که اجرا میشه

وقتی وارد برنامه میشید هم Activity Resume طبیعی هست که اجرا میشه اما Activity Create نباید اجرا بشه چون یک بار Create شده قبلا.

فقط توی همون Activity Create توی یک شرط با First بیایید کدهاتون رو بنویسید

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

درود

من اصلا از این کدهای شما سر در نیاوردم.

وقتی که گوشی قفل میشه که Activity Pause طبیعی هست که اجرا میشه

وقتی وارد برنامه میشید هم Activity Resume طبیعی هست که اجرا میشه اما Activity Create نباید اجرا بشه چون یک بار Create شده قبلا.

فقط توی همون Activity Create توی یک شرط با First بیایید کدهاتون رو بنویسید

شما درست میفرمایید.

منطق اینه که با قفل شدن دستگاه اکتیویتی متوقف بشه و پس از باز شدن قفل رویداد resume اجرا بشه.

اما در حالت افقی ، با قفل شدن دستگاه رویداد create هم اجرا میشه ، اگر هم دستورات ساخت اشیا رو در دستور شرطی first=true بذارم پس از وارد شدن مجدد به بازی اکتیویتی خالی خواهد بود چون ریست شده و دستورات هم اجرا نشدن.

شاید چنین حالتی رو تجربه نکردید.

همون روش غیرمنطقی رو استفاده کردم.

ممنونم

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

بایگانی شده

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

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

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