Как я могу запустить службу из действия, которое не в том же проекте в Android? - PullRequest
0 голосов
/ 25 августа 2011

Это, наверное, очень простой вопрос, но так как я новичок в разработке для Android ...

Я пытаюсь запустить службу из действия , которое не входит в тот же пакет (удаленная служба) со следующим кодом:

Intent i = new Intent("com.vasilis.service.GPSService");
i.putExtra("com.vasilis.service.GPSEnable", true);
this.startService(i);

но с этим кодом ничего не происходит!

манифест сервисного проекта / пакета ...

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.vasilis.service" android:versionCode="1" android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".serv_activity" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <service android:name=".GPSService" android:exported="true" android:enabled="true"></service>

        <activity android:name=".incomingCallActivity" android:label="@string/app_name"
            android:theme="@android:style/Theme.Dialog"></activity>

        <receiver android:name="OnBootCompleteReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"></action>
            </intent-filter>
        </receiver>

    </application>
    <uses-sdk android:minSdkVersion="7" />

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
</manifest> 

Я что-то упустил! Любая помощь?

1 Ответ

1 голос
/ 25 августа 2011

Аналогичный вопрос был задан здесь: Как запустить службу, которая определена в другом пакете?

В общем, вам просто нужно добавить это в manifest.xml

<service android:name=".GPSService" android:exported="true" android:enabled="true">
    <intent-filter>
        <action android:name="com.vasilis.service.GPSEnable" />
    </intent-filter>
</service>

Или каковы бы ни были названия классов;) Если это не сработает, у документации, расположенной по адресу Service , есть много полезных советов.

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