package="talent.pad"       <service android:name=".library.SocketService">
            <intent-filter>
                <action android:name="talent.library.SocketService"></action>
            </intent-filter>
        </service>        <activity android:name=".ActivityLogin" 
         android:screenOrientation="portrait" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
这种写法不行,启动失败,如果把SocketService也放到pad文件夹下就能启动

解决方案 »

  1.   

    明白了, <service android:name=".library.SocketService">这里应该写全包的名称 <service android:name="talent.library.SocketService">不全包的时候,就是在当前包的意思。关键是那个Action的name属性,其实这里就是服务的名字,是可以随便取的,合法字串就可以。在启动Service的时候,Intent里的action参数传这个名字,而不是服务的名字。