رفتن به مطلب

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

1.jpg

با استفاده از سورس basic4android زیر، زنگ تلفن، زنگ هشدار و زنگ نوتیفیکیشن گوشیتان را ست کنید
این سورس به زبان بیسیک فور اندروید نوشته شده است و بسیار بسیار کاربردی است

🌠 عضویت در کانال ما 👈

https://eitaa.com/basic4androidlan

https://t.me/programmingwithb4a

سورس:

👇👇 این کدها را در اکتیویتی که میخواهید سورس را پیاده کنید، کپی کنید:

Sub Globals
	Private MediaPlayer As MediaPlayer
	Private Ring As RingtoneManager
	Private Ring_alarm As RingtoneManager
	Private Ring_notif As RingtoneManager
	Private run As RuntimePermissions
	Private MES As ManageExternalStorage
	Private Phone As Phone
	Private pnl_adv As Panel
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("ab")
	MediaPlayer.Initialize
	
	If File.Exists(File.DirInternal,"db.db")=False Then
		File.Copy(File.DirAssets,"db.db",File.DirInternal,"db.db")
	End If
	
	run.CheckAndRequest(run.PERMISSION_WRITE_EXTERNAL_STORAGE)
	run.CheckAndRequest(run.PERMISSION_READ_EXTERNAL_STORAGE)
	
	MES.Initialize(Me,"MES")
	If Phone.SdkVersion < 30 Then
		run.CheckAndRequest(run.PERMISSION_WRITE_EXTERNAL_STORAGE)
		run.CheckAndRequest(run.PERMISSION_READ_EXTERNAL_STORAGE)
		Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
		If Result Then CheckManageWriteSettings
	Else
		If Not(MES.HasPermission) Then
			MES.GetPermission
		Else
			CheckManageWriteSettings
		End If
	End If
End Sub
Sub Activity_Resume
	If Phone.SdkVersion >30 Then
		If MES.HasPermission Then CheckManageWriteSettings
	End If
End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub CheckManageWriteSettings
	If Not(CanWriteToSystemSettings) Then
		Dim in As Intent
		in.Initialize("android.settings.action.MANAGE_WRITE_SETTINGS","package:"&Application.PackageName)
		StartActivity(in)
		Wait For Activity_Resume
		If Not(CanWriteToSystemSettings) Then
			Log("no permission...")
			Return
		End If
	End If
End Sub
Sub CanWriteToSystemSettings As Boolean
	If Phone.SdkVersion >= 23 Then
		Dim ctxt As JavaObject
		ctxt.InitializeContext
		Dim settings As JavaObject
		settings.InitializeStatic("android.provider.Settings.System")
		Return settings.RunMethod("canWrite", Array(ctxt))
	End If
	Return True
End Sub

Sub ListView1_ItemClick (Position As Int, Value As Object)
	MediaPlayer.Stop
	MediaPlayer.Load(File.DirAssets,Position&".mp3")
	MediaPlayer.Play
End Sub

Private Sub btn_play_notif_Click
	MediaPlayer.Load(File.DirAssets,"notif.mp3")
	MediaPlayer.Play
End Sub

Private Sub btn_set_notif_Click
	If File.Exists(File.DirRootExternal,"notif.mp3") = False Or File.Exists(File.DirRootExternal,"notif.mp3") Then
		File.Copy(File.DirAssets,"notif.mp3",File.DirRootExternal,"notif.mp3")
		Dim r_notif As String
		Try
			r_notif = Ring_notif.AddToMediaStore(File.DirRootExternal,"notif.mp3","notif",False,True,False,True)
			File.WriteString(File.DirInternal,"notif.txt",r_notif)
		Catch
			Dim re_notif As String
			re_notif = File.ReadString(File.DirInternal,"notif.txt")
			Ring_notif.DeleteRingtone(re_notif)
			r_notif = Ring_notif.AddToMediaStore(File.DirRootExternal,"notif.mp3","notif",False,True,False,True)
			File.WriteString(File.DirInternal,"notif.txt",r_notif)
		End Try
		Ring_notif.SetDefault(Ring_notif.TYPE_RINGTONE,r_notif)
		ToastMessageShow(" به عنوان صدای نوتیف تنظیم شد",True)
	End If
End Sub

Private Sub btn_set_warning_Click
	If File.Exists(File.DirRootExternal,"alarm.mp3") = False Or File.Exists(File.DirRootExternal,"alarm.mp3") Then
		File.Copy(File.DirAssets,"alarm.mp3",File.DirRootExternal,"alarm.mp3")
		Dim r_alarm As String
		Try
			r_alarm = Ring_alarm.AddToMediaStore(File.DirRootExternal,"alarm.mp3","alarm",True,False,False,True)
			File.WriteString(File.DirInternal,"alarm.txt",r_alarm)
		Catch
			Dim re_alarm As String
			re_alarm = File.ReadString(File.DirInternal,"alarm.txt")
			Ring_alarm.DeleteRingtone(re_alarm)
			r_alarm = Ring_alarm.AddToMediaStore(File.DirRootExternal,"alarm.mp3","alarm",True,False,False,True)
			File.WriteString(File.DirInternal,"alarm.txt",r_alarm)
		End Try
		Ring_alarm.SetDefault(Ring_alarm.TYPE_RINGTONE,r_alarm)
		ToastMessageShow(" به عنوان صدای آلارم تنظیم شد",True)
	End If
End Sub

Private Sub
btn_play_warning_Click
	MediaPlayer.Load(File.DirAssets,"alarm.mp3")
	MediaPlayer.Play
End Sub

Private Sub btn_play_ringtone_Click
	MediaPlayer.Load(File.DirAssets,"ringtone.mp3")
	MediaPlayer.Play
End Sub

Private Sub btn_set_ringtone_Click
	If File.Exists(File.DirRootExternal,"ringtone.mp3") = False Or File.Exists(File.DirRootExternal,"ringtone.mp3") Then
		File.Copy(File.DirAssets,"ringtone.mp3",File.DirRootExternal,"ringtone.mp3")
		Dim r As String
		Try
			r = Ring.AddToMediaStore(File.DirRootExternal,"ringtone.mp3","rington",False,False,True,True)
			File.WriteString(File.DirInternal,"ringtone.txt",r)
		Catch
			Dim re As String
			re = File.ReadString(File.DirInternal,"ringtone.txt")
			Ring.DeleteRingtone(re)
			r = Ring.AddToMediaStore(File.DirRootExternal,"ringtone.mp3","ringtone",False,False,True,True)
			File.WriteString(File.DirInternal,"ringtone.txt",r)
		End Try
		Ring.SetDefault(Ring.TYPE_RINGTONE,r)
		ToastMessageShow(" به عنوان صدای زنگ تنظیم شد",True)
	End If
End Sub

Private Sub btn_stop_Click
	MediaPlayer.Stop
End Sub
       سپس یک کلاس ماژول استاندارد بسازید و کدهای زیر را در آن کپی کنید:

#Event: StorageAvailable
Sub Class_Globals
	Private ion As Object
	Private mCallback As Object
	Private mEventName As String
	
End Sub

'Initializes the object
Public Sub Initialize (Callback As Object, EventName As String)
	mCallback = Callback
	mEventName = EventName
End Sub

Public Sub HasPermission As Boolean
	Dim has As Boolean	
	Dim jo As JavaObject
	jo.InitializeStatic("android.os.Environment")
	has = jo.RunMethod("isExternalStorageManager", Null)	
	Return has
End Sub

Public Sub GetPermission
	If HasPermission Then
		RaiseEvent
		Return
	End If
	Dim in As Intent
	
	in.Initialize("android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION", "package:"&Application.PackageName)
	StartActivityForResult(in)
End Sub


Private Sub RaiseEvent
	Log("Calling : " &  mEventName & "_StorageAvailable")
	CallSubDelayed(mCallback, mEventName & "_StorageAvailable")
End Sub


Private Sub ion_Event (MethodName As String, Args() As Object) As Object
	RaiseEvent
	Return Null
End Sub


Private Sub StartActivityForResult(i As Intent)
	Dim jo As JavaObject = GetBA
	ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
	jo.RunMethod("startActivityForResult", Array As Object(ion, i))
End Sub

Private Sub GetBA As Object
	Dim jo As JavaObject = Me
	Return jo.RunMethod("getBA", Null)
End Sub

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

 

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

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

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