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

کار نکردن کتابخانه ESLocation2 (نسخه 1.2) در B4A نسخه 6.8


Wolfskin

سوال

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

کتابخانه ESLocation2 همون طور که از اسمش پیداست موقعیت کاربر رو مبتنی بر اینترنت به ما میده، قبلاً یک پروژه در B4A نسخه 5.5 باش کد زدم و به درستی کار میکرد ولی الان در بیسیک نسخه 6.80 اصلاً هیچ عکس العملی نشون نمیده.

کدهای Manifest :

AddManifestText(
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="21"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<supports-screens android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
'End of default text.

SetApplicationAttribute(android:theme, "@style/TelegramTheme")
CreateResource(values, theme.xml,
<resources>
    <style name="TelegramTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">#FF9800</item>
        <item name="colorPrimaryDark">#F57C00</item>
        <item name="colorAccent">#FFA726</item>		
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
    </style>
</resources>
)

'************ Google Play Services Base ************
AddApplicationText(
   <activity android:name="com.google.android.gms.common.api.GoogleApiActivity"
  android:theme="@android:style/Theme.Translucent.NoTitleBar"
  android:exported="false"/>
    <meta-data
  android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />
)
'************ Google Play Services Base (end) ************

کدهای سرویس نوشته شده :

#Region  Service Attributes 
	#StartAtBoot: True	
#End Region

Sub Process_Globals
	Dim ESLocation As ESLocation2
End Sub

Sub Service_Create

End Sub

Sub Service_Start (StartingIntent As Intent)
	StartServiceAt("",DateTime.Now + 0.1*DateTime.TicksPerMinute,False)
	ESLocation.Initialize("Location")
	ESLocation.requestNetworkLocation(0,0)
End Sub

Sub Service_Destroy
	StartServiceAt("",DateTime.Now + 0.1*DateTime.TicksPerMinute,False)
End Sub

Sub Location_Locationchanged (Longitude As Double, Latitude As Double, Altitude As Double, Accuracy As Float, Bearing As Float, Provider As String, Speed As Float, Time As Long)
	Log("Longitude: " & Longitude & CRLF & "Latitude: " & Latitude & CRLF & "Time: " & Time)
End Sub

فراخوانی گوگل پلی سرویس در اکتیویتی اصلی :
 

#AdditionalJar: com.google.android.gms:play-services-location

حتی فایل XML کتابخانه هم ویرایش کردم و وابستگی های زیرم بش افزودم ولی کار نکرد :
 

<dependsOn>com.android.support:support-v4</dependsOn>
<dependsOn>com.google.android.gms:play-services-location</dependsOn>

لازم به ذکر است کتابخانه LocationManager هم تست کردم و این کتابخانه هم مشکل بالا را داراست !

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

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

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

سلام

این کد را از منفست پاک کنید:

'************ Google Play Services Base ************
AddApplicationText(
   <activity android:name="com.google.android.gms.common.api.GoogleApiActivity"
  android:theme="@android:style/Theme.Translucent.NoTitleBar"
  android:exported="false"/>
    <meta-data
  android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />
)
'************ Google Play Services Base (end) ************

 

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

در 2 ساعت قبل، یاسر گفته است :

سلام

این کد را از منفست پاک کنید:


'************ Google Play Services Base ************
AddApplicationText(
   <activity android:name="com.google.android.gms.common.api.GoogleApiActivity"
  android:theme="@android:style/Theme.Translucent.NoTitleBar"
  android:exported="false"/>
    <meta-data
  android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />
)
'************ Google Play Services Base (end) ************

 

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

پیروز باشید

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

در 22 ساعت قبل، Wolfskin گفته است :

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

پیروز باشید

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

در ضمن فکر کنم این کد را اشتباه زدید:

Sub Location_Locationchanged 

به صورت زیر بنویسید:

Sub Location_LocationChanged

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

در 1 ساعت قبل، یاسر گفته است :

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

در ضمن فکر کنم این کد را اشتباه زدید:


Sub Location_Locationchanged 

به صورت زیر بنویسید:

Sub Location_LocationChanged

نه دوست گرامی، نام ایونت همیشه قبل از اسم تابع میاد.

شما میتونید برای اطمینان از این مورد در بیسیک sub رو بنویسید سپس یک اسپیس و بعد تب رو بزنید، خود بیسیک راهنماییتون میکنه:

Sub EventName_Locationchanged (Longitude As Double, Latitude As Double, Altitude As Double, Accuracy As Float, Bearing As Float, Provider As String, Speed As Float, Time As Long)
	
End Sub

همون طور که در ارسال اول ذکر کردم کد قبلاً به همین شکل نوشته شده و کار میکرده.
امروز یک گوشی زیرخاکی با اندروید ۴.۳.۱ پیدا کردم که این که به درستی روی اون اجرا میشه.
ولی روی گوشی های با اندروید ۶ اجرا نمیشه. (کل فرایند های پرمیشن هم انجام شده و مشکلی از نظر دسترسی وجود ندارد)

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

نه منظورم LocationChanged هست Changed با حروف بزگ باید باشه.

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

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

در ۱ ساعت قبل، یاسر گفته است :

نه منظورم LocationChanged هست Changed با حروف بزگ باید باشه.

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

این بخشی هست که خود کتابخونه جنریت میکنه، میتونید خودتون هم تست کنید، باید مطابق همین باشه:
 

Sub EventName_Locationchanged (Longitude As Double, Latitude As Double, Altitude As Double, Accuracy As Float, Bearing As Float, Provider As String, Speed As Float, Time As Long)
	
End Sub

در عنوان تاپیک ذکر کردم، نسخه 1.2
شما در اندروید ۶ مشکلی ندارید ؟

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

راستش خودم رو اندروید 6 کار نکردم.ولی 5 و 5.1 چرا مشکلی نداره. من برنامه ام تو بازار هست تا حالا کاربرا گزارشی ندادن که رو اندروید 6 کار نکنه.نسخه 1.2 منظورت همون 1.20؟

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

در 13 دقیقه قبل، یاسر گفته است :

راستش خودم رو اندروید 6 کار نکردم.ولی 5 و 5.1 چرا مشکلی نداره. من برنامه ام تو بازار هست تا حالا کاربرا گزارشی ندادن که رو اندروید 6 کار نکنه.نسخه 1.2 منظورت همون 1.20؟

بله، تو کنترل نسخه پروژه ها وقتی صدم نسخه ذکر نمیشه معمولاً نسخه رو با همون رقم دهم ذکر می کنن (تو ریاضیات هم همینه).
به هر حال فکر می کنم ادامه ندیم بهتره، چون فرایند داره برعکس رویه تاپیک پیش میره !!
مرسی از وقتی که گذاشتید، پیروز باشید

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

دوست عزیز 1.2 با 1.20 خیلی فرق میکنه ریاضیات که نیست نسخه برنامه.

موفق باشی

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

در 2 ساعت قبل، یاسر گفته است :

دوست عزیز 1.2 با 1.20 خیلی فرق میکنه ریاضیات که نیست نسخه برنامه.

موفق باشی

در ادامه اشتباهات شما میتونم شمارو به تاپیک این کتابخانه در سایت مرجع راهنمایی کنم، که به روشنی بیان شده :
 

نقل قول

v1.2 sorted 'findLastLocation(String)' method, this now returns the request list based on the sent parameter e.g. 'network', 'gps', 'network' or null for all.

خوب از اونجایی که شما باز بر دانش محیر العقول خود پافشاری می کنید لازم به ذکر است ماژول لود کتابخانه های بیسیک به این صورت نوشته شده که نسخه های کتابخانه رو با صدم اعشار نمایش بده.

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

بیش از این با بیانات شیوا ما را به فیض اکبر نرسانید.

پیروز باشید

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

بایگانی شده

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

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

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