今天要在应用中添加后台服务,所以建立了一个Services文件夹(Package),然后在其下建立了两个类,一个服务类,一个接收类
然后在AndroidManifest中注册服务跟接收器
<service android:name=".Services.CalendarService" /> <receiver android:name=".Services.CalendarReceiver" />没问题吧?但是报警告了
Use ' instead of '.' for inner classes (or use only lowercase letters in package names)后面大意是把.替换为$符号,
开始在网上找答案,修改为了
<service android:name=".services.CalendarService" /> <receiver android:name=".services.CalendarReceiver" />结果显示错误,找不到services这个包,那就将.换成$吧
<service android:name=".Services$CalendarService" /> <receiver android:name=".Services$CalendarReceiver" />嗯,这次也显示报错,Services是红色显示,但能编译通过,运行发现后台服务没有运行。。。
这就难堪了,百度是找不到答案了,那就GOOGLE吧,还是GOOGLE好用,重点来了!!!
需要将之前建的文件夹也就是包(Package)修改为小写,同时AndroidManifest中也将包名改为小写就OK了。。。
<service android:name=".services.CalendarService" /> <receiver android:name=".services.CalendarReceiver" />这样就OK了,也不显示警告错误等等提示了,运行服务也OK了。。。