以下代码运行良好,我经常会发现一些示例代码要省略,所以我将代码更改为
<service android:name=".MyInternetServer"></service>
但是我收到错误“无法找到服务”。
我猜包=“com.example.enabledisablebroadcastreceiver”和
<service android:name="com.code4reference.enabledisablebroadcastreceiver.MyInternetServer"></service>,
也许应该使用全名,对吧?
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.enabledisablebroadcastreceiver"
android:versionCode="1"
android:versionName="1.0" >
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.code4reference.enabledisablebroadcastreceiver.EnableDisableBroadcastReceiver"
android:label="@string/title_activity_enable_disable_boradcast_receiver" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Broadcast receiver -->
<receiver android:name="com.code4reference.enabledisablebroadcastreceiver.AlarmManagerBroadcastReceiver" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
<service android:name="com.code4reference.enabledisablebroadcastreceiver.MyInternetServer"></service>
</application>
</manifest>
答案 0 :(得分:2)
清单文件中的简写“点”符号有效as described in the documentation:
但是,作为简写,如果字符串的第一个字符是a 句点,字符串被附加到应用程序的包名称(如 由&lt; manifest&gt;指定element的包属性)。
所以在你的情况下,使用:
.MyInternetServer
...是:
的简写com.example.enabledisablebroadcastreceiver.MyInternetServer
这就是<manifest>
的{{1}}属性中的内容。
我猜你可能想要更新你的manifest的package属性,以匹配你实际用于项目的包。
答案 1 :(得分:0)
是的,为您的服务提供一个完整的路径,其实际位置包含完整的包名,然后检查,它将起作用。