mohammadcoder
New Member
In Basic 4 Android, there are no errors when debugging, but when publishing the application, it crashes immediately after execution.
starter service :
#Region Service Attributes
#StartAtBoot: True
#ExcludeFromLibrary: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim GPS1 As GNSS
Dim GPSCT As Timer'GPS Setting Timer
Dim SMS1 As PhoneSms
Dim SMS2 As SmsInterceptor
Dim StringF As StringFunctions
Dim CarNumber As String
Dim CarStatue As String
Dim NextCommand As String
Dim MSGArray( 100) As String
Dim OCT As Int'OPEN/CLOSE TARGET
Public GPSC As Int
Dim AUTOCar As Boolean
Dim LockViewSW As Boolean
Dim CARLA,CARLO As Double
Dim AdminLA,AdminLO As Double
Dim AdminGPSAccuracy As Double
End Sub
Sub Service_Create
'This is the program entry point.
'This is a good place to load resources that are not specific to a single activity.
Sleep(2000)
Service.AutomaticForegroundMode=Service.AUTOMATIC_FOREGROUND_ALWAYS
SMS2.Initialize("SMS2")
GPS1.Initialize("GPS1")
'persian language message
MSGArray(1)="سیستم مکان یابی غیر فعال است . لطفا ابتدا نسبت به فعال سازی مکان یاب اقدام نمایید ."
MSGArray(2)="در حال اتصال به سیستم ماهواره ای جهت تشخیص موقعیت جغرافیایی ..."
MSGArray(3)="برای استفاده از تمامی خدمات بعد از روشن کردن سیستم مکان یاب گوشی ، از برنامه خارج و مجدد وارد شوید ."
MSGArray(4)="درب های خودرو قفل گردید و دزدگیر فعال شد ."
MSGArray(5)="درب های خودرو باز گردید و سیستم دزدگیر غیر فعال شد ."
MSGArray(6)="موتور خودرو در وضعیت روشن قرار گرفت ."
MSGArray(7)="موتور خودرو در وضعیت خاموش قرار گرفت ."
MSGArray(8)="درب صندوق عقب خودرو باز گردید ."
MSGArray(9)="هشدار صوتی فعال شد ."
MSGArray(10)="هشدار صوتی غیر فعال و خودرو در حالت سکوت قرار گرفت ."
MSGArray(11)="موقعیت مانی خودرو دریافت گردید ."
MSGArray(12)="دستور شما به خودرو ارسال گردید ."
End Sub
Sub Service_Start (StartingIntent As Intent)
If GPS1.GPSEnabled=False Then
ToastMessageShow(MSGArray(1),True)
'ToastMessageShow(MSGArray(3),True)
StartActivity(GPS1.LocationSettingsIntent)
Else
Try
GPS1.Start(0,0)
ToastMessageShow(MSGArray(2),True)
Catch
ToastMessageShow("GPS Error",False)
End Try
End If
End Sub
Sub Service_TaskRemoved
'This event will be raised when the user removes the app from the recent apps list.
End Sub
'Return true to allow the OS default exceptions handler to handle the uncaught exception.
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
Return True
End Sub
Sub Service_Destroy
End Sub
Public Sub GPSCalculator(LA1 As Double,LO1 As Double,LA2 As Double,LO2 As Double , RefValue As Int)As Double
Dim ELA,ELO As Double
Dim ExportValue As Double
If RefValue=0 Then RefValue=100000
If LA1<>0 And LA2<>0 And LO1<>0 And LO2<>0 Then
ELA=LA1-LA2
ELO=LO1-LO2
ExportValue=Sqrt(Power(ELA,2)+Power(ELO,2))*RefValue
Return ExportValue
End If
End Sub
Public Sub GPS1_LocationChanged (Location1 As Location)
Try
AdminLA=Location1.Latitude
AdminLO=Location1.Longitude
AdminGPSAccuracy=Location1.Accuracy
If AUTOCar=True Then
GPSC=GPSCalculator(AdminLA,AdminLO,CARLA,CARLO,0)
GPSC=GPSCalculator(AdminLA,AdminLO,CARLA,CARLO,0)
If GPSC>OCT Then
If CarStatue<>"close" Then
SMS1.Send(CarNumber, "'L")
ToastMessageShow(MSGArray(12),True)
CarStatue="close"
End If
Else
If CarStatue<>"open" Then
SMS1.Send(CarNumber ,"'U")
ToastMessageShow(MSGArray(12),True)
CarStatue="open"
End If
End If
End If
Catch
ToastMessageShow("Read Location Error",True)
End Try
End Sub
PUBLIC Sub SMS2_MessageReceived (From As String, Body As String) As Boolean
If From=CarNumber Then
SMSProccess(Body)
Return True
End If
End Sub
Public Sub SMSProccess(B As String)
Select B
Case "close"
ToastMessageShow(MSGArray(4),True)
LockViewSW=True
Main.LockViewT.Enabled=True
Case "open"
Select NextCommand
Case "'T"
SMS1.Send(CarNumber,"'T")
'MainService.SMSSend("'L")
ToastMessageShow(MSGArray(12),True)
NextCommand=""
End Select
ToastMessageShow(MSGArray(5),True)
LockViewSW=False
Main.LockViewT.Enabled=True
Case "Engine start"
ToastMessageShow(MSGArray(6),True)
Case "Engine stop"
ToastMessageShow(MSGArray(7),True)
SMS1.Send(CarNumber,"'L")
'MainService.SMSSend("'L")
ToastMessageShow(MSGArray(12),True)
NextCommand=""
Case "Trunk"
ToastMessageShow(MSGArray(8),True)
Case "Sound"
ToastMessageShow(MSGArray(9),True)
Case "Silent"
ToastMessageShow(MSGArray(10),True)
Case Else
If StringF.InString(B,"Speed")>-1 Then
If AUTOCar=True Then
CarGPSMine(B)
Else
ToastMessageShow(MSGArray(11),True)
End If
End If
End Select
End Sub
Public Sub CarGPSMine(Loc As String)
Dim STR1 As String
Dim Int1 As Int
Dim S1,S2 As String
STR1=Loc
Int1=StringF.InString(STR1,"=")+1
Int1=StringF.Len(STR1)-Int1
STR1=StringF.Right(STR1,Int1)
Int1=StringF.InString(STR1,",")+1
Int1=StringF.Len(STR1)-Int1
S1=StringF.Left(STR1,Int1)
S2=StringF.Right(STR1,Int1)
CARLA=S1
CARLO=S2
If StringF.InString(Loc,"Speed")>-1 Then
End If
End Sub
main activity :
#Region Project Attributes
#ApplicationLabel: ARM Car SMS Tracker
#VersionCode: 2
#VersionName: 1.0.2
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: True
#End Region
#Region Activity Attributes
#FullScreen: True
#IncludeTitle: False
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Public LockViewT As Timer
Dim RP As RuntimePermissions
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim TIMER1 As Timer
Dim GPSCT As Timer
Private Label1 As Label
Private Label2 As Label
Private Label3 As Label
Private ImageView1 As ImageView
Private ImageView2 As ImageView
Private ImageView3 As ImageView
Private ImageView5 As ImageView
Private ImageView6 As ImageView
Private Label5 As Label
Dim CarStatue As String
End Sub
Sub GPSCT_Tick
'StartService(MainService)
GPSCT.Enabled=False
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
Activity.LoadLayout("LMain")
TIMER1.Initialize("TIMER1",1000)
GPSCT.Initialize("GPSCT",1)
Starter.OCT=15
TIMER1.Enabled=True
GPSCT.Enabled=True
LockViewT.Initialize("LockViewT",1)
Starter.CarNumber="+9800000"
' RP.CheckAndRequest(RP.PERMISSION_ACCESS_COARSE_LOCATION)
RP.CheckAndRequest(RP.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity__PermissionResult (Permission As String, Result As Boolean)
If Result Then
Else
ToastMessageShow("Permition Error",True)
End If
' RP.CheckAndRequest(RP.PERMISSION_READ_SMS)
' RP.CheckAndRequest(RP.PERMISSION_RECEIVE_SMS)
' RP.CheckAndRequest(RP.PERMISSION_SEND_SMS)
' RP.CheckAndRequest(RP.PERMISSION_WRITE_EXTERNAL_STORAGE)
' RP.CheckAndRequest(RP.PERMISSION_READ_EXTERNAL_STORAGE)
End Sub
Sub LockViewT_Tick
LockView
LockViewT.Enabled=False
End Sub
Sub TIMER1_Tick
Label1.Text=Starter.AdminLA
Label2.Text=Starter.AdminLO
Label3.Text=Starter.AdminGPSAccuracy
If ImageView1.Visible=True Then ImageView1.Visible=False Else ImageView1.Visible=True
If Starter.AdminGPSAccuracy>5 Then
ImageView2.Visible=True
ImageView3.Visible=False
Else
ImageView2.Visible=False
ImageView3.Visible=True
End If
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Public Sub LockView()
If Starter.LockViewSW =True Then
ImageView5.Visible=True
ImageView6.Visible=False
Else
ImageView5.Visible=False
ImageView6.Visible=True
End If
End Sub
Sub Button1_Click
Starter.GPS1.Stop
'StopService(Starter)
ExitApplication
End Sub
Sub Button3_Click
Starter.SMS1.Send(Starter.CarNumber,"'U")
'MainService.SMSSend("'U")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button2_Click
Starter.SMS1.Send(Starter.CarNumber,"'L")
'MainService.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub ToggleButton1_CheckedChange(Checked As Boolean)
If Checked=True Then
Starter.AUTOCar=True
Starter.SMS1.Send(Starter.CarNumber,"'A")
'MainService.SMSSend("'A")
GPSCT.Enabled=True
Else
Starter.AUTOCar=False
GPSCT.Enabled=False
Label5.Text="غیرفعال"
End If
End Sub
Sub Button5_Click
Starter.SMS1.Send(Starter.CarNumber,"'Q")
'MainService.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button4_Click
Starter.NextCommand="'T"
Starter.SMS1.Send(Starter.CarNumber,"'U")
'MainService.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button6_Click
Starter.SMS1.Send(Starter.CarNumber,"'S")
'MainService.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button7_Click
Starter.SMS1.Send(Starter.CarNumber,"'R")
'Starter.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button8_Click
Starter.SMS1.Send(Starter.CarNumber,"'A")
'MainService.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button1_LongClick
'StartService(MainService)
End Sub
starter service :
#Region Service Attributes
#StartAtBoot: True
#ExcludeFromLibrary: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim GPS1 As GNSS
Dim GPSCT As Timer'GPS Setting Timer
Dim SMS1 As PhoneSms
Dim SMS2 As SmsInterceptor
Dim StringF As StringFunctions
Dim CarNumber As String
Dim CarStatue As String
Dim NextCommand As String
Dim MSGArray( 100) As String
Dim OCT As Int'OPEN/CLOSE TARGET
Public GPSC As Int
Dim AUTOCar As Boolean
Dim LockViewSW As Boolean
Dim CARLA,CARLO As Double
Dim AdminLA,AdminLO As Double
Dim AdminGPSAccuracy As Double
End Sub
Sub Service_Create
'This is the program entry point.
'This is a good place to load resources that are not specific to a single activity.
Sleep(2000)
Service.AutomaticForegroundMode=Service.AUTOMATIC_FOREGROUND_ALWAYS
SMS2.Initialize("SMS2")
GPS1.Initialize("GPS1")
'persian language message
MSGArray(1)="سیستم مکان یابی غیر فعال است . لطفا ابتدا نسبت به فعال سازی مکان یاب اقدام نمایید ."
MSGArray(2)="در حال اتصال به سیستم ماهواره ای جهت تشخیص موقعیت جغرافیایی ..."
MSGArray(3)="برای استفاده از تمامی خدمات بعد از روشن کردن سیستم مکان یاب گوشی ، از برنامه خارج و مجدد وارد شوید ."
MSGArray(4)="درب های خودرو قفل گردید و دزدگیر فعال شد ."
MSGArray(5)="درب های خودرو باز گردید و سیستم دزدگیر غیر فعال شد ."
MSGArray(6)="موتور خودرو در وضعیت روشن قرار گرفت ."
MSGArray(7)="موتور خودرو در وضعیت خاموش قرار گرفت ."
MSGArray(8)="درب صندوق عقب خودرو باز گردید ."
MSGArray(9)="هشدار صوتی فعال شد ."
MSGArray(10)="هشدار صوتی غیر فعال و خودرو در حالت سکوت قرار گرفت ."
MSGArray(11)="موقعیت مانی خودرو دریافت گردید ."
MSGArray(12)="دستور شما به خودرو ارسال گردید ."
End Sub
Sub Service_Start (StartingIntent As Intent)
If GPS1.GPSEnabled=False Then
ToastMessageShow(MSGArray(1),True)
'ToastMessageShow(MSGArray(3),True)
StartActivity(GPS1.LocationSettingsIntent)
Else
Try
GPS1.Start(0,0)
ToastMessageShow(MSGArray(2),True)
Catch
ToastMessageShow("GPS Error",False)
End Try
End If
End Sub
Sub Service_TaskRemoved
'This event will be raised when the user removes the app from the recent apps list.
End Sub
'Return true to allow the OS default exceptions handler to handle the uncaught exception.
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
Return True
End Sub
Sub Service_Destroy
End Sub
Public Sub GPSCalculator(LA1 As Double,LO1 As Double,LA2 As Double,LO2 As Double , RefValue As Int)As Double
Dim ELA,ELO As Double
Dim ExportValue As Double
If RefValue=0 Then RefValue=100000
If LA1<>0 And LA2<>0 And LO1<>0 And LO2<>0 Then
ELA=LA1-LA2
ELO=LO1-LO2
ExportValue=Sqrt(Power(ELA,2)+Power(ELO,2))*RefValue
Return ExportValue
End If
End Sub
Public Sub GPS1_LocationChanged (Location1 As Location)
Try
AdminLA=Location1.Latitude
AdminLO=Location1.Longitude
AdminGPSAccuracy=Location1.Accuracy
If AUTOCar=True Then
GPSC=GPSCalculator(AdminLA,AdminLO,CARLA,CARLO,0)
GPSC=GPSCalculator(AdminLA,AdminLO,CARLA,CARLO,0)
If GPSC>OCT Then
If CarStatue<>"close" Then
SMS1.Send(CarNumber, "'L")
ToastMessageShow(MSGArray(12),True)
CarStatue="close"
End If
Else
If CarStatue<>"open" Then
SMS1.Send(CarNumber ,"'U")
ToastMessageShow(MSGArray(12),True)
CarStatue="open"
End If
End If
End If
Catch
ToastMessageShow("Read Location Error",True)
End Try
End Sub
PUBLIC Sub SMS2_MessageReceived (From As String, Body As String) As Boolean
If From=CarNumber Then
SMSProccess(Body)
Return True
End If
End Sub
Public Sub SMSProccess(B As String)
Select B
Case "close"
ToastMessageShow(MSGArray(4),True)
LockViewSW=True
Main.LockViewT.Enabled=True
Case "open"
Select NextCommand
Case "'T"
SMS1.Send(CarNumber,"'T")
'MainService.SMSSend("'L")
ToastMessageShow(MSGArray(12),True)
NextCommand=""
End Select
ToastMessageShow(MSGArray(5),True)
LockViewSW=False
Main.LockViewT.Enabled=True
Case "Engine start"
ToastMessageShow(MSGArray(6),True)
Case "Engine stop"
ToastMessageShow(MSGArray(7),True)
SMS1.Send(CarNumber,"'L")
'MainService.SMSSend("'L")
ToastMessageShow(MSGArray(12),True)
NextCommand=""
Case "Trunk"
ToastMessageShow(MSGArray(8),True)
Case "Sound"
ToastMessageShow(MSGArray(9),True)
Case "Silent"
ToastMessageShow(MSGArray(10),True)
Case Else
If StringF.InString(B,"Speed")>-1 Then
If AUTOCar=True Then
CarGPSMine(B)
Else
ToastMessageShow(MSGArray(11),True)
End If
End If
End Select
End Sub
Public Sub CarGPSMine(Loc As String)
Dim STR1 As String
Dim Int1 As Int
Dim S1,S2 As String
STR1=Loc
Int1=StringF.InString(STR1,"=")+1
Int1=StringF.Len(STR1)-Int1
STR1=StringF.Right(STR1,Int1)
Int1=StringF.InString(STR1,",")+1
Int1=StringF.Len(STR1)-Int1
S1=StringF.Left(STR1,Int1)
S2=StringF.Right(STR1,Int1)
CARLA=S1
CARLO=S2
If StringF.InString(Loc,"Speed")>-1 Then
End If
End Sub
main activity :
#Region Project Attributes
#ApplicationLabel: ARM Car SMS Tracker
#VersionCode: 2
#VersionName: 1.0.2
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: True
#End Region
#Region Activity Attributes
#FullScreen: True
#IncludeTitle: False
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Public LockViewT As Timer
Dim RP As RuntimePermissions
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim TIMER1 As Timer
Dim GPSCT As Timer
Private Label1 As Label
Private Label2 As Label
Private Label3 As Label
Private ImageView1 As ImageView
Private ImageView2 As ImageView
Private ImageView3 As ImageView
Private ImageView5 As ImageView
Private ImageView6 As ImageView
Private Label5 As Label
Dim CarStatue As String
End Sub
Sub GPSCT_Tick
'StartService(MainService)
GPSCT.Enabled=False
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
Activity.LoadLayout("LMain")
TIMER1.Initialize("TIMER1",1000)
GPSCT.Initialize("GPSCT",1)
Starter.OCT=15
TIMER1.Enabled=True
GPSCT.Enabled=True
LockViewT.Initialize("LockViewT",1)
Starter.CarNumber="+9800000"
' RP.CheckAndRequest(RP.PERMISSION_ACCESS_COARSE_LOCATION)
RP.CheckAndRequest(RP.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity__PermissionResult (Permission As String, Result As Boolean)
If Result Then
Else
ToastMessageShow("Permition Error",True)
End If
' RP.CheckAndRequest(RP.PERMISSION_READ_SMS)
' RP.CheckAndRequest(RP.PERMISSION_RECEIVE_SMS)
' RP.CheckAndRequest(RP.PERMISSION_SEND_SMS)
' RP.CheckAndRequest(RP.PERMISSION_WRITE_EXTERNAL_STORAGE)
' RP.CheckAndRequest(RP.PERMISSION_READ_EXTERNAL_STORAGE)
End Sub
Sub LockViewT_Tick
LockView
LockViewT.Enabled=False
End Sub
Sub TIMER1_Tick
Label1.Text=Starter.AdminLA
Label2.Text=Starter.AdminLO
Label3.Text=Starter.AdminGPSAccuracy
If ImageView1.Visible=True Then ImageView1.Visible=False Else ImageView1.Visible=True
If Starter.AdminGPSAccuracy>5 Then
ImageView2.Visible=True
ImageView3.Visible=False
Else
ImageView2.Visible=False
ImageView3.Visible=True
End If
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Public Sub LockView()
If Starter.LockViewSW =True Then
ImageView5.Visible=True
ImageView6.Visible=False
Else
ImageView5.Visible=False
ImageView6.Visible=True
End If
End Sub
Sub Button1_Click
Starter.GPS1.Stop
'StopService(Starter)
ExitApplication
End Sub
Sub Button3_Click
Starter.SMS1.Send(Starter.CarNumber,"'U")
'MainService.SMSSend("'U")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button2_Click
Starter.SMS1.Send(Starter.CarNumber,"'L")
'MainService.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub ToggleButton1_CheckedChange(Checked As Boolean)
If Checked=True Then
Starter.AUTOCar=True
Starter.SMS1.Send(Starter.CarNumber,"'A")
'MainService.SMSSend("'A")
GPSCT.Enabled=True
Else
Starter.AUTOCar=False
GPSCT.Enabled=False
Label5.Text="غیرفعال"
End If
End Sub
Sub Button5_Click
Starter.SMS1.Send(Starter.CarNumber,"'Q")
'MainService.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button4_Click
Starter.NextCommand="'T"
Starter.SMS1.Send(Starter.CarNumber,"'U")
'MainService.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button6_Click
Starter.SMS1.Send(Starter.CarNumber,"'S")
'MainService.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button7_Click
Starter.SMS1.Send(Starter.CarNumber,"'R")
'Starter.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button8_Click
Starter.SMS1.Send(Starter.CarNumber,"'A")
'MainService.SMSSend("'L")
ToastMessageShow(Starter.MSGArray(12),True)
End Sub
Sub Button1_LongClick
'StartService(MainService)
End Sub