Добрый день, ищу помощи при создании службы которая работает с переодичностью (обновляет данные из интернета) в Xamarin.Forms, служба не запускается т.к. выдает, что gsm зарегистрирована. Прощу указать где ошибка
мое мнение, я не правильно указываю Tag, однако проблема что я не могу понять какой TAG нужно указать
имя пакета в свойствах Android.Manifest
my.companyname.App
Service.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
namespace App.Droid.Services
{
[Service(Exported = true, Permission = "com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE", Enabled = true)]
class Service : Service
{
public override IBinder OnBind(Intent intent)
{
return null;
}
[return: GeneratedEnum]
public override StartCommandResult OnStartCommand(Intent intent, [GeneratedEnum] StartCommandFlags flags, int startId)
{
Toast.MakeText(ApplicationContext, "Test", ToastLength.Long).Show();
return StartCommandResult.NotSticky;
}
public override void OnCreate()
{
base.OnCreate();
}
}
}
MainActivity.cs
using System;
using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Content;
using App.Droid.Services;
using Android.Gms.Gcm;
using Android.App.Job;
namespace App.Droid
{
[Activity(Label = "App", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
StartBackgroundDataRefreshService();
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App());
}
private void StartBackgroundDataRefreshService()
{
var ident = new Intent(this, typeof(Service));
var pt = new PeriodicTask.Builder()
.SetPeriod(5)
.SetService(Java.Lang.Class.FromType(typeof(Service)))
.SetRequiredNetwork(0)
.SetTag("TASK_TAG_PERIODIC")
.Build();
GcmNetworkManager.GetInstance(this).Schedule(pt);
}
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Обязательно ли нужен SQL Data Tools, что бы была возможность создавать SQL CLR функции?
На форму заказа (Order) нужно добавить пять позиций (OrderPosition), делаю это в цикле: