xamarin - 作业服务导致 Android Xamarin 中的解析器错误
问题描述
我需要在后台下载一些我使用工作服务的文件。当我尝试在 android 设备 7.0 版中部署应用程序时,出现错误提示“解析包时出现问题”。这是我的代码
public class RegisterJobService:Activity
{
public static void SchelduleJob(Context context)
{
try
{
long REFRESH_INTERVAL = 90 * 1000;
JobInfo.Builder builder;
JobInfo jobInfo;
Java.Lang.Class javaClass = Java.Lang.Class.FromType(typeof(BackgroundAgentService));
ComponentName component = new ComponentName(context, javaClass);
builder = new JobInfo.Builder(0, component).SetPeriodic(REFRESH_INTERVAL);
jobInfo = builder.Build();
JobScheduler jobScheduler = (JobScheduler)context.GetSystemService(JobSchedulerService);
jobScheduler.Schedule(builder.Build());
}
catch (System.Exception ex)
{
}
}
}
//后台作业服务代码
[Service(Name = "SampleTestApp.Helper.BackgroundAgent", Permission =
"android.permission.BIND_JOB_SERVICE")]
public class BackgroundAgentService : JobService
{
public override bool OnStartJob(JobParameters @params)
{
Log.Debug("BATest", "BackgroundAgentService-2/---------OnStartJob////clas");
return true;
}
public override bool OnStopJob(JobParameters @params)
{
//throw new NotImplementedException();
Log.Debug("BATest", "BackgroundAgentService/////++++++++++++OnStopJob/////2/////clas");
return true;
}
}
我发现当我删除以下代码时,没有解析器错误,但“SchhelduleJob”方法出现异常,提示“Java.Lang.IllegalArgumentException:没有此类服务 ComponentInfo”。
[服务(名称=“SampleTestApp.Helper.BackgroundAgent”,权限=“android.permission.BIND_JOB_SERVICE”)]
我还尝试在无效的清单文件中添加权限。
<application >
<service android:Name="SampleTestApp.Helper.BackgroundAgentService" android:enabled="true" android:permission="android.permission.BIND_JOB_SERVICE" android:exported="true" />
</application>
请问有人对此有什么想法吗?
解决方案
推荐阅读
- java - 在 macOS 上缩小时的 Swing Java 应用程序预览
- .net-core - .NET Core 中使用 HATEOS 的 REST API 长期运行异步作业的软件设计
- excel - 下拉列表中的值以相反的顺序显示
- delphi - Delphi 2010 Enter & Ctrl+Enter 编辑快捷键
- r - 如何将 CRAN 包导出到 Conda yaml 文件?
- php - Laravel 错误 '; 预期的”和“意外的未知” 437 次
- python - 有没有办法从 python pandas 系列中制作比例图?
- python - 如何在 Pandas 中有效地使用分箱和间隔
- sql - 在sql中将varchar列转换为日期
- c++ - 转换向量并将其写入 C++ 字符串流