gpt4 book ai didi

Android:为什么我在完全限定的类名和 "WARN/ActivityManager(52): Unable to start service Intent"中有一个斜杠

转载 作者:行者123 更新时间:2023-11-29 22:30:53 34 4
gpt4 key购买 nike

我尝试使用本教程构建适用于 Android 主屏幕的小部件。

http://www.helloandroid.com/files/xmaswidget/android_howto-hellowidget.pdf

但是如果我尝试使用服务启动示例(该教程中的第二种方式),我会在 DDMS 的 LogCat 中收到以下错误消息:

WARN/ActivityManager(52): Unable to start service Intent { cmp=de.tlindig.android/.HelloWidget$UpdateService }: not found

我不明白的是,包名后面的斜线(“/”)来自哪里。

我还在服务创建之前添加了一个日志语句来检查发生了什么。代码如下所示:

@Override

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {

  Log.d("HelloWidget.onUpdate", "UpdateService.class is: " + UpdateService.class);
Intent intent = new Intent(context, UpdateService.class);
context.startService(intent);
}

所以我在 LogCat 中得到了以下输出:

DEBUG/HelloWidget.onUpdate(320): UpdateService.class is: class de.tlindig.android.HelloWidget$UpdateService
WARN/ActivityManager(52): Unable to start service Intent { cmp=de.tlindig.android/.HelloWidget$UpdateService }: not found

我在 Windows 7 64bit 和 eclipse 上工作。我确实直接从教程中一步步复制了代码。我也试过自己的例子,但得到了同样的错误。在这两种情况下,我都在路径中得到了斜线。

有人知道我做错了什么吗?

谢谢你的帮助。

最佳答案

我自己找到了解决方案。

每个服务都需要在 list 文件中有一个条目。就我而言,它看起来像这样:

<service android:name=".HelloWidget$UpdateService" />

就是这样。现在服务已找到并启动。

关于Android:为什么我在完全限定的类名和 "WARN/ActivityManager(52): Unable to start service Intent"中有一个斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4092566/

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