Unity3DAndroidPlugin:UnabletoStartService我的目标是启动一个服务,通过.jar文件作为android插件添加到Unity3D中。在这个线程中,我找到了如何启动它,我终于可以使用本机代码了。但我在日志中得到以下信息:07-1415:02:23.965:W/ActivityManager(444):无法启动服务Intent{cmp=net.calipssoone.bnh/com.activitychecker.adservice.CheckService}U=0:notfound我用谷歌搜索,发现问题出在清单中,但无法弄清楚我做错了什么。以下是该服务在清单中的声明方式:它在Java中的包名实际上是相同的:com.activitychecker.adserviceStartReceiverclass:publicclassStartReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){}}CheckService类:公共类CheckService扩展服务{publicvoidonCreate(){}publiclonggetCurrentTime(){}publicvoidloadInfo(){}publicintonStartCommand(Intentintent,intflags,intstartId){}publicvoidonDestroy(){}publicIBinderonBind(Intentintent){}publicclassMyThreadextendsThread{publicvoidrun(){}publicvoidcancel(){}publicbooleancheck(Stringbundle){}}privateclassScreenBroadcastReceiverextendsBroadcastReceiver{publicvoidonReceive(上下文上下文,Intent意图){}}}UPD:我将视图更改为:并将日志错误更改为:07-1417:46:13.455:W/ActivityManager(444):无法启动服务Intent{act=com.activitychecker.adservice.CheckService}U=0:当我尝试使用Intent启动服务时找不到我得到了相同的异常当我使用Context时它会起作用。因此,将上一个问题中的代码替换为使用Context而不是Intent:Java:publicfinalclassStatusCheckStarter{staticContextmyContext;//从C#调用以获取上下文实例publicstaticvoidreceiveContextInstance(ContexttempContext){myContext=tempContext;}publicstaticvoidStartCheckerService(){myContext.startService(newIntent(myContext,CheckService.class));}}C#:AndroidJavaClassunityClass;AndroidJavaObjectunityActivity;AndroidJavaObjectunityContext;AndroidJavaClass自定义类;voidStart(){//替换为你的完整包名sendActivityReference("com.example.StatusCheckStarter");//现在,启动服务startService();}voidsendActivityReference(stringpackageName){unityClass=newAndroidJavaClass("com.unity3d.player.UnityPlayer");unityActivity=unityClass.GetStatic("currentActivity");unityContext=unityActivity.Call("getApplicationContext");customClass=newAndroidJavaClass(packageName);customClass.CallStatic("接收veContextInstance",unityContext);}voidstartService(){customClass.CallStatic("StartCheckerService");}有问题评论我找到了直接把manifest包裹到assets/android文件夹下的解决方法以上是C#的学习教程:Unity3D安卓插件:无法启动服务分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注,本文收集自网络且不代表立场,如涉及侵权,请点击右侧联系管理员删除,如需转载请注明出处:
