コメント
コメントの投稿
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。
private nint _taskId = 0;
private NotificationService _nService;
/// <summary>
/// バックグラウンドタスクを開始
/// </summary>
/// <param name="app"></param>
public override void DidEnterBackground(UIApplication app)
{
base.DidEnterBackground(app);
try
{
if (_taskId != 0) return;
_taskId = UIApplication.SharedApplication.BeginBackgroundTask(() => { });
this.BackgroundThread();
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message + System.Environment.NewLine + ex.StackTrace);
}
}
private async void BackgroundThread()
{
await Task.Run(() =>
{
try
{
while (true)
{
InvokeOnMainThread(delegate
{
if (_nService == null)
{
//通知機能の認証
_nService = new NotificationService();
_nService.Regist();
}
_nService.On("TestTitle", "TestBody");
});
System.Threading.Thread.Sleep(60000);
}
UIApplication.SharedApplication.EndBackgroundTask(_taskId);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message + System.Environment.NewLine + ex.StackTrace);
}
}).ConfigureAwait(false);
}
public override void OnResignActivation(UIApplication app)
{
base.OnResignActivation(app);
if (_taskId == 0) return;
UIApplication.SharedApplication.EndBackgroundTask(_taskId);
_taskId = 0;
}
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。