gpt4 book ai didi

android - 无法启动服务 Intent

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:06:51 26 4
gpt4 key购买 nike

我已经阅读了大约 100 个关于这个问题的问题和答案,但我似乎无法让它发挥作用。我正在尝试从 Activity 启动 Service。我的 list 文件似乎没问题,我启动 Service 的方式似乎也是正确的。 LogCat 中出现以下错误:

ActivityManager(1296): Unable to start service Intent
{ cmp=com.exercise.AndroidClient/com.client.Communication }: not found

我试图通过在我的 Activity 中调用它来启动该服务:

startService(new Intent(getApplicationContext(), Communication.class));

服务如下:

public class Communication extends Service {
public Communication() {
super();
}
@Override
public void onCreate() {
super.onCreate();
Log.i("Service", "Created service");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i("Service", "onStartCommand called");
return START_STICKY;
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
}

我的 list 文件中的条目是:

<?xml version="1.0" encoding="utf-8" ?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.exercise.AndroidClient" android:versionCode="1"
android:versionName="1.0">

<application android:icon="@drawable/sms" android:label="@string/app_name" >

<activity> ... </activity>

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

</application>
</manifest>

非常感谢任何建议。

最佳答案

Communication 类在哪里?

在您的 list 中,您使用 android:name=".Communication" 声明了一个服务,这意味着您的服务类应该位于 com.exercise.AndroidClient.Communication >

检查包是否正确。注意“.” (点)指的是包的根目录(即 list 中声明的​​包)。因此,例如,如果您的包是 com.exercise.AndroidClient 并且您的服务类在 com.exercise.AndroidClient.services.Communication 下,您需要像这样声明服务这个:

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

或指定完整包:

<service android:enabled="true" android:name="com.exercise.AndroidClient.services.Communication" />

关于android - 无法启动服务 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6052978/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com