با سلام .
ما یه app داریم با چندتا اکتیویتی که واسش تعریف کردیم . وارد هر اکتیویتی که میشیم یک فایل صوتی چندثانیه ای در پس زمینه اکتیویتی اجرا می شه :
در هر اکتیویتی داخل متد onCreate اش کدهای پخش آهنگ قرار داده شده تا همزمان با اجرای اکتیویتی فایل صوتی چندثانیه ای هم اجرا بشه.
حالا مشکل اینجاست :
وقتی صفحه نمایش کاربر خاموش یا قفل میشه بعد از حدود نزدیک به 1 دقیقه فایل صوتی آخرین اکتیویتی که باز بوده اجرا میشه !
بعضی مواقع هم اگه خود کاربر صفحه نمایش گوشیش رو روشن کنه (مثلا دکمه home رو بزنه) دوباره فایل صوتی آخرین اکتیویتی اجرا میشه و میخونه!
گویا دلیلش اینه که با روشن کردن صفحه نمایش گوشی یا باز کردن قفل گوشی متد onCreate مجدداً اجرا میشه و باعث میشه فایل صوتی هم اجرا بشه...
حالا سوال من اینه که چه راه حلی وجود داره که در این حالت از اجرای مجدد متد onCreate جلوگیری کنیم ؟
خودم از متد onPause برای اکتیویتی استفاده کردم و دستور ()finish رو داخلش قرار دادم تا هر وقت گوشی صفحه نمایشش خاموش میشه یا قفل میشه اون اکتیویتی رو kill کنه،مشکلم برطرف میشه. ولی این کار جالب نیست . میخوام بدون kill شدن اکتیویتی پخش ناخواسته فایل صوتی دیگه اتفاق نیفته.
دوستان راه حلی سراغ دارین ؟
ما یه app داریم با چندتا اکتیویتی که واسش تعریف کردیم . وارد هر اکتیویتی که میشیم یک فایل صوتی چندثانیه ای در پس زمینه اکتیویتی اجرا می شه :
در هر اکتیویتی داخل متد onCreate اش کدهای پخش آهنگ قرار داده شده تا همزمان با اجرای اکتیویتی فایل صوتی چندثانیه ای هم اجرا بشه.
حالا مشکل اینجاست :
وقتی صفحه نمایش کاربر خاموش یا قفل میشه بعد از حدود نزدیک به 1 دقیقه فایل صوتی آخرین اکتیویتی که باز بوده اجرا میشه !
بعضی مواقع هم اگه خود کاربر صفحه نمایش گوشیش رو روشن کنه (مثلا دکمه home رو بزنه) دوباره فایل صوتی آخرین اکتیویتی اجرا میشه و میخونه!
گویا دلیلش اینه که با روشن کردن صفحه نمایش گوشی یا باز کردن قفل گوشی متد onCreate مجدداً اجرا میشه و باعث میشه فایل صوتی هم اجرا بشه...
حالا سوال من اینه که چه راه حلی وجود داره که در این حالت از اجرای مجدد متد onCreate جلوگیری کنیم ؟
خودم از متد onPause برای اکتیویتی استفاده کردم و دستور ()finish رو داخلش قرار دادم تا هر وقت گوشی صفحه نمایشش خاموش میشه یا قفل میشه اون اکتیویتی رو kill کنه،مشکلم برطرف میشه. ولی این کار جالب نیست . میخوام بدون kill شدن اکتیویتی پخش ناخواسته فایل صوتی دیگه اتفاق نیفته.
دوستان راه حلی سراغ دارین ؟
*** بحث نکن ، به فکر راه حل باش ***