0

以下代码运行良好,我经常发现一些示例代码要省略,所以我将代码更改为

<service android:name=".MyInternetServer"></service>  

但我收到错误“找不到服务”。

我猜 package="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>
4

2 回答 2

2

Manifest 文件中的速记“点”符号如文档中所述工作:

但是,作为简写,如果字符串的第一个字符是句点,则该字符串将附加到应用程序的包名称(由 <manifest> 元素的包属性指定)。

所以在你的情况下,使用:

.MyInternetServer

...是以下的简写:

com.example.enabledisablebroadcastreceiver.MyInternetServer

因为这就是你<manifest>package属性。

我猜您可能想要更新清单的包属性以匹配您实际用于项目的包。

于 2013-10-15T07:35:43.650 回答
0

是的,给你的服务一个完整的路径,它的实际位置是完整的包名,然后检查,它会起作用。

于 2013-10-15T07:25:49.317 回答