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

کار کردن برنامه هنگام خواب رفتن دستگاه


HS71

سوال

با سلام.

برای برنامه ای که تعدادی اهنگ داره و هنگامی که گوشی به خواب میره میخوام اون اکتیویتی به کارش ادامه بده…

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

 

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

یکم با دستور سرویس کار کردیم اما به نتیجه درست نرسیدیم چون یاد نداشتیم اصلا…. ممنون اگه بتونید درست و صحیح یاد بدین که اهنگ ها در وقت خواب دستگاه با همون دستوری که در layout برنامه دادیم یعنی همون دکمه های تکرار یا پخش پشته هم درست اجرا بشن..

 

یا راهه دیگری هم هست برای اینکه وقت خواب اهنگ ها درست پشته سرهم پخش بشن...؟

مثلا این ساب ها چی میتونه کار کنه؟

Sub Activity_Resume
End Sub

Sub Activity_Pause (UserClosed As Boolean)
End Sub

 

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

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

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

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

لطفا دوستان راهنمایی بفرماین کدوم کدها باید در کدوم ساب سرویس قرار بگیره گیر کردیم اینجا ما :sorry:

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

کسی نمیدونه؟ چطور باید کدهارو بنویسیم تو سرویس تا آهنگی که در حال پخشه و گوشی اگه خواب رفت اونوقت آهنگ ها درست از همون اهنگی که در حاله پخشه به بعدش پشته هم پخش بشه و اگه کاربر گوشی رو روشن کرد

همه چیز سالم باشه یعنی دکمه های پخش کننده زمان اهنگ هم در حاله پیشرفت باشه ؟

لطفا کمک کنید برناممون کامل شده اما میخوایم هنگام خواب هم مثله مدیا پلیر های حرفه ای اهنگ هارو اجرا کنه ...

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

.....

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

ببینید دوست عزیز

تمام هرچیزی که میخواهید رو میتونید توی سرویس استفاده کنید

کد نویسیش که فرق نداره

چرا بعضی ها سرویس و دیتابیس رو سق القمر فرض میکنند؟

تنها چیزی که هست نمیتونید object رو مستقیم توی سرویس استفاده کنید. یعنی نمیتونید یک button تعریف کنید.

همین.

 

امروز سعی میکنم یک آموزش تصویری از کار با سرویس آماده کنم.

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

جلوگیری از به خواب رفتن گوشی در b4a
 


Sub Globals
    Dim  WakeState As  PhoneWakeState
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("main")
    WakeState.KeepAlive(True)'no sleep device
//    WakeState.KeepAlive(False)'sleep device
end sub


نکته مهم : یادتون باشه حتما باید کتابخانه ی Phone را فعال کنید.(در قسمت Libraries Manager)

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

درود

بهترین راه استفاده از همون سرویس هست. خیلی هم راحته.

سرویس رو در حالت پایدار یا همون sticky تعریف کنید و StartServiceAt رو هم قرار بدید برای برنامتون در Service Destory

مابقی کدهاتون که خودتون بهتر بلد هستید.

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

اگر به مشکل برخورد کردید کد سرویستون رو در تگ کد <> در همین پست بدید تا بررسی کنیم !

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

درود

بهترین راه استفاده از همون سرویس هست. خیلی هم راحته.

سرویس رو در حالت پایدار یا همون sticky تعریف کنید و StartServiceAt رو هم قرار بدید برای برنامتون در Service Destory

مابقی کدهاتون که خودتون بهتر بلد هستید.

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

اگر به مشکل برخورد کردید کد سرویستون رو در تگ کد <> در همین پست بدید تا بررسی کنیم !

 

ممنون، اما یکم برام گیج کننده شده کار با سرویسو اخه هیچی نمیدونیم هنوز ازش و از طرفی مشکل از شبیه ساز بلو استک هستش که حالت اسلیپ نمیشه و همش روشنه و تو تنضیماتشم چیزی نبود و گوشی هم دمه دست نیست تا روش تست کنیم حالا:

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

Activity


Sub Process_Globals
	
	Dim m As MediaPlayer
	Dim timer1 As Timer

End Sub

Sub Globals
	
	Private allplay As Button
	Private allplay2 As Button

End Sub

Sub Activity_Create(FirstTime As Boolean)

  m.Initialize2("mp")

End sub


Sub List_ItemClick (Position As Int, Value As Object)
  mp = Position
	m.Stop
	m.Load(File.DirAssets, Position & ".mp3")
	m.Play
	
End Sub


Sub mp_Complete
		
	If mp = 20 And allplay.Visible = True Then
		mp = 0
	m.Stop
		allplay.Visible = False 
		allplay2.Visible = True
			ToastMessageShow(" آهنگ ها پایان  ",True)
			playkey.Visible = True
			stopkey.Visible = False
			
   timer1.Initialize("timer1", 1000)
    timer1.Enabled=False
	
	
	If allplay.Visible = True Then
		mp = mp+1
	m.Stop
  		m.Load(File.DirAssets, mp & ".mp3")
  	 m.Play
 	
End Sub


Sub allplay_Click
	allpl.Visible = False
	allpl2.Visible = True
	
End Sub

Sub allplay2_Click
	allpl.Visible = True
	allpl2.Visible = False
End Sub





Service


#Region  Service Attributes 
	#StartAtBoot: True
	#StartCommandReturnValue: android.app.Service.START_STICKY
	
#End Region

Sub Process_Globals

	Dim m As MediaPlayer
	Dim timer1 As Timer
	
End Sub

Sub Service_Create
	
	m.Initialize2("mp") 
 	m.Load(File.DirAssets, ".mp3")
	
End Sub

Sub Service_Start (StartingIntent As Intent)

End Sub

Sub Service_Destroy
	
	StartServiceAt
	
End Sub


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

تا هنگام خواب رفتن گوشی اهنگ ها سالم پخش بشن و همینطور وقت بیدار کردن هم اگه کدی لازمه رو هم بگید :give_rose: و همینطور بگید در کجا کد شروع سرویس رو بدیم تا سرویس اماده باش باشه که گوشی خواب رفت و allplay یعنی همون دکمه پخش پشته هم اگه فعال بود اهنگ ها هم به ترتیب پخش بشه..

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

ببخشید یکم زیاد شد.

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

بایگانی شده

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

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

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