/ / Was für einen Fall kann ich weglassen? - Android

Was für einen Fall kann ich weglassen? - Android

Der folgende Code funktioniert gut, ich finde oft einen Beispielcode zum Auslassen, also ändere ich meinen Code als

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

aber ich bekomme einen Fehler "Der Dienst kann nicht gefunden werden".

Ich schätze das Paket = "com.example.enabledisablebroadcastreceiver" und

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

vielleicht sollte es den vollen Namen verwenden, oder?

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

Antworten:

2 für die Antwort № 1

Die Kurzschrift "Punkt" in der Manifest-Datei funktioniert wie in der Dokumentation beschrieben:

Kurz gesagt, wenn das erste Zeichen der Zeichenfolge a ist Periode wird die Zeichenfolge an den Paketnamen der Anwendung angehängt (z. B. angegeben durch das Paketattribut des <manifest> -Elements.

Also in Ihrem Fall, mit:

.MyInternetServer

... ist eine Abkürzung für:

com.example.enabledisablebroadcastreceiver.MyInternetServer

wie das ist was in deinem <manifest>"s package Attribut.

Ich vermute, dass Sie wahrscheinlich das Paketattribut Ihres Manifests aktualisieren möchten, damit es mit dem Paket übereinstimmt, das Sie tatsächlich für Ihr Projekt verwenden.


0 für die Antwort № 2

Ja geben Sie Ihrem Dienst einen vollständigen Pfad, wo es sich tatsächlich mit vollem Paketnamen befindet und dann prüfen, ob es funktioniert.