2013-10-15 3 views
0

Следующий код работает хорошо, я часто нахожу некоторые примеры кода для опускаем, так что я изменить мой код, какКакой случай я могу опустить?

<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

.. этого достаточно .. потому что у вас уже упоминалось ваше имя пакета наверху. Оно должно работать ... и для деятельности также использовать как это .. – Manivannan

ответ

2

Стенограмма «точка» нотации в файле манифеста работает as described in the documentation:

Однако, как сокращение, если первый символ строки является период, строка добавляется к имени пакета приложения (как , указанным в объявлении < > атрибут пакета элемента).

Так что в вашем случае, используя:

.MyInternetServer 

... это сокращение:

com.example.enabledisablebroadcastreceiver.MyInternetServer 

, как это то, что в package атрибут ваших <manifest> «S.

Я предполагаю, что вы, вероятно, захотите обновить атрибут пакета манифеста, чтобы он соответствовал пакету, который вы фактически используете для своего проекта.

0

Дайте свой сервис полный путь, где его фактически находится с полным именем пакета, а затем проверьте, он будет работать.

Смежные вопросы