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

سرویس پایدار برای gps


zipzip84

سوال

سلام به همه دوستان

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

هدفم ایجاد یک اپ که کلیومتراژ طی شده در بازه زمانی مشخصی را بهم بده

برای این کار می خوام از gps استفاده کنم فقط

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

اول اگه پیشنهادی دارید بدید لطفا

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

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

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

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

سلام وقت بخیر

داخل انجمن برای پایدار بودن سرچ کنید مطالب زیادی هست

 برای سرویس پایدار باید دسترسی دستی داده شه داخل اندروید(دسترسی کارکردن در پس زمینه)

که برای هواوی (تا اندروید 6)و سامسونگ به صورت زیر گرفتن دسترسی ولی داخل گوشی های دیگه مثل شیامی هواوی نسخه جدید باید دستی بگیرین (البته شاید کدی هم باشه که اگر دوستی داره بگه)

AddPermission(android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)'منفیست

Sub btnStartBatteryOptimizer_Click
	
	
	Try
		
	

		Dim huawei As MR_HuaweiPAPP
		If huawei.IsHuawei = True Then
			Log("Huawi")
			
		'	tools.tostsinfo(" در لیست نام برنامه  " & Application.LabelName  & " پیدا کنید و فعالش کنید " )
		'	tools.tostsinfo(" در لیست نام برنامه  " & Application.LabelName  & " پیدا کنید و فعالش کنید." )
		'	tools.tostsinfo(" در لیست نام برنامه  " & Application.LabelName  & " پیدا کنید و فعالش کنید." )
		'	tools.tostsinfo(" در لیست نام برنامه  " & Application.LabelName  & " پیدا کنید و فعالش کنید." )
			
		
			Dim huawei As MR_HuaweiPAPP
			huawei.GOTO_HuaweiSetting
			
		Else
			
			
			
			
			
	
			Try
				Dim p As Phone
				If p.SdkVersion >=23 Then
					Dim JavaObject1 As JavaObject
					JavaObject1.InitializeContext
					Dim Ignoring As Boolean=JavaObject1.RunMethod("isIgnoringBatteryOptimizations", Null)
					If Ignoring=False Then
	
						'RuntimePermissions1.CheckAndRequest("android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS")
						Dim JavaObject1 As JavaObject
						JavaObject1.InitializeContext
						JavaObject1.RunMethod("ShowPermissionDialog", Null)
						'tools.tostsinfo("لطفا گزینه بله یا Yes را انتخاب کنید تا برنامه پایدار باشد...")
					'	tools.tostsinfo("لطفا گزینه بله یا Yes را انتخاب کنید تا برنامه پایدار باشد...")
					'	tools.tostsinfo("لطفا گزینه بله یا Yes را انتخاب کنید تا برنامه پایدار باشد...")
			
					Else
						Log("accsees trued")
					'	tools.tostsucess("این دسترسی فعال است...")
					End If
				Else
					Msgbox("این دسترسی در دستگاه شما احتمالا فعال است در صورتی که برنامه پایدار نبود از صفحه اصلی برنامه قسمت حل مشکلات به ما اعلام کنید.","توضیحات : ")
				End If
	
			Catch
				Log(LastException)
			End Try

			
			
		
		End If
	
	
		Sleep(1000)
	
	
	Catch
	'	tools.tosterore("مشکلی پیش آمد...")
	End Try
			

	
	
End Sub



#If JAVA
import android.content.Context;
import android.content.Intent;
import android.os.PowerManager;
import android.provider.Settings;
import android.net.Uri;
import anywheresoftware.b4a.BA;

public boolean isIgnoringBatteryOptimizations(){
Context context=this;
String packageName = context.getPackageName();
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
return pm.isIgnoringBatteryOptimizations(packageName);
}

public void ShowPermissionDialog(){
    Intent intent = new Intent();
    Context context=this;
    String packageName = context.getPackageName();
    PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
    if (pm.isIgnoringBatteryOptimizations(packageName)){
        BA.LogInfo("isIgnoringBatteryOptimizations TRUE");
        intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
    } else {
        BA.LogInfo("isIgnoringBatteryOptimizations FALSE");
        intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
        intent.setData(Uri.parse("package:" + packageName));
    }
    context.startActivity(intent);
}
#End If

 

 

دریافت فایل

Libraries.rar

 

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

دوستان من هنوز نتونستم مشکل را حل کنم

سرویسی که ساختم به نظر پایدار ه ، چرا ؟

چون توی حالت پاوس برای من که توی سرویس از gps استفاده می کنم هم علامت ارسال اطلاعات GPS بالای صفحه روشن ه و هم آیکون برنامه م را بالای صفحه توی حالت پاوس برنامه م داره نشون میده

Screenshot_20200408_203022_Samsung_Exper

بگم که از نظر آقای ایزدی در این پست استفاده کردم :Annotation_2020_04_08_203034.jpg

 

 

مشکل چیه حالا :

توی حالت RESUME برنامه خیلی خوب کاری می کنه و اطلاعات جی پی اس رو در بانک ذخیره می کنه

اما وقتی توی حالت PAUSE میره برنامه ، با اینکه علامت جی پی اس بالای صفحه فعال ه و همون کدی که توی RESUME هست توی PSUSE هم کپی کردم اما اطلاعات رو نمی فرسته به بانک

اگه لازم ه بگید چیزی رو که نوشتم بذارم

اگه نه ممنون میشم راهنمایی کنید

 

 

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

بایگانی شده

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

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

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