android - 是否允许将服务嵌套到应用程序中?

标签 android service manifest nested-class

我让我的应用程序执行它的应用程序操作(保存记录、处理单例等...),并且我有一个将处理套接字连接的嵌套服务。我以前在它自己的类中有该服务,但随着我提高它的效率,我认为将它移到应用程序中是个好主意。我更新了 list :

<service android:name="com.arm.core.ArmApplication$IOService"/> 

我认为这是声明嵌套服务的正确方法,但我得到了一个 InstantiationException。服务是否需要是静态的,或者我是否根本不允许将服务嵌套到另一个类中?

04-15 14:11:53.167: ERROR/AndroidRuntime(18379): FATAL EXCEPTION: main
04-15 14:11:53.167: ERROR/AndroidRuntime(18379): java.lang.RuntimeException: Unable to instantiate service com.android.appion.arm.core.AppionApplication$IOService: java.lang.InstantiationException: com.android.appion.arm.core.AppionApplication$IOService
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.app.ActivityThread.handleCreateService(ActivityThread.java:3102)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.app.ActivityThread.access$3300(ActivityThread.java:135)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2202)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.os.Looper.loop(Looper.java:144)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.app.ActivityThread.main(ActivityThread.java:4937)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at java.lang.reflect.Method.invokeNative(Native Method)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at java.lang.reflect.Method.invoke(Method.java:521)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at dalvik.system.NativeStart.main(Native Method)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379): Caused by: java.lang.InstantiationException: com.android.appion.arm.core.AppionApplication$IOService
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at java.lang.Class.newInstanceImpl(Native Method)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at java.lang.Class.newInstance(Class.java:1429)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     at android.app.ActivityThread.handleCreateService(ActivityThread.java:3099)
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):     ... 10 more

最佳答案

你必须有一个默认的构造函数。所以是的,将其声明为静态的或将其放在自己的类中。

关于android - 是否允许将服务嵌套到应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5681620/

相关文章:

angular - PWA 使用 Angular 4 添加到 Chrome 中的主屏幕按钮

android - View 的填充和边距之间的区别

c# - 关于 Appium 的问题

c++ - Services.msc 中未显示 ATL 服务

android - 为什么我的 NotificationListenerService 不工作?

java - 安卓 : Change App Label programmatically

android - 如何通过电子邮件或电话号码获取联系人

android - 当应用程序被强行关闭或从最近的应用程序列表中删除时,BroadcastReceiver 不起作用

grails - 使用Shiro确保Grails中的服务安全

android库项目 list 文件