/ / Jakiego rodzaju przypadek mogę pominąć? - Android

Jakiego rodzaju przypadek mogę pominąć? - Android

Poniższy kod działa dobrze, często znajduję przykładowy kod do pominięcia, więc zmienię swój kod na

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

ale pojawia się błąd "Usługa nie może zostać znaleziona".

Zgaduję, że pakiet = "com.example.enabledisablebroadcastreceiver" i

<service android:name="com.code4reference.enabledisablebroadcastreceiver.MyInternetServer"></service>,

może to powinno być pełne imię, prawda?

<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>

Odpowiedzi:

2 dla odpowiedzi № 1

Skrócona notacja "kropka" w pliku manifestu działa jak opisano w dokumentacji:

Jednak jako skrót, jeśli pierwszym znakiem ciągu jest kropka jest dołączana do nazwy pakietu aplikacji (jako określony przez atrybut pakietu <manifest> elementu).

Więc w twoim przypadku, używając:

.MyInternetServer

... jest skrótem dla:

com.example.enabledisablebroadcastreceiver.MyInternetServer

jak to jest w twoim <manifest>"s package atrybut.

Domyślam się, że prawdopodobnie chcesz zaktualizować atrybut pakietu manifestu, aby pasował do pakietu, którego faktycznie używasz w projekcie.


0 dla odpowiedzi nr 2

Tak, daj swojej usłudze pełną ścieżkę, gdzie faktycznie znajduje się pełna nazwa pakietu, a następnie sprawdź, będzie działać.