3

我试图制作一个项目,我有一项活动和一项来自不同软件包的服务。我放在一个项目中的两个包。

我将活动放入:com.idris.activity,并将服务放入:com.idris.activity.service

我尝试从 MyActivity 中的按钮侦听器调用 MyService ,如下所示:

Intent myIntent = new Intent(getApplicationContext(), MyService.class);
                 myIntent.putExtra("extraData", "somedata");
                 startService(myIntent);

应用程序清单

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="idris.parental.monitor"
    android:versionCode="1"
    android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".MyActivity"
            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=".MyService"
            android:enabled="true" />
    </application>
</manifest>

MyService 无法启动,我该怎么办?

4

2 回答 2

3

在您的清单中使用它:

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

确保您在文件中使用正确package name的 for 。如果文件在包中,则使用:servicemanifestMyService.javacom.idris.activity.service

<service android:name="com.idris.activity.service.MyService" />
于 2012-07-23T15:46:54.047 回答
0

您的根 pkg 名称似乎是 package="idris.parental.monitor"所以您的服务类 pkg 名称必须包含这些作为根路径,然后在清单中您可以指定为

例如

您在服务包中的服务。即 idris.parental.monitor.service

在清单 .service.urservicename

于 2012-07-23T16:40:32.230 回答