- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有以下代码
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if(intent != null) {
Log.i("INTENT", intent.getAction().toString());
}
return START_STICKY;
}
但它总是在线返回 NullPointerException
:
Log.i("INTENT", intent.getAction().toString());
为什么?我在上面检查“intent”变量是否不为空。如果是这种情况,请执行以下代码。但我仍然遇到 nullpointerexception。
服务是从这样的 Activity 开始的:
startService(new Intent(this, MainService.class));
我做错了什么?
最佳答案
你得到一个 NullPointerException
因为 intent.getAction()
似乎返回 null
。
您应该将支票扩展到:
if(intent != null && intent.getAction() != null) {
如果你想为你的 Intent 添加一个 Action ,你需要调用 setAction() :
Intent i = new Intent(this, MainService.class);
i.setAction("foo");
startService(i);
关于android - Intent 始终为 null onStartCommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16043173/
我在 Android 上开发了一个 GPS 跟踪应用程序。我使用 AlarmManager 每 5 分钟唤醒一次设备。我开发了一个日志文件,显示该应用程序运行良好,直到我收到 public int o
我有一个简单的服务: public class TestService extends Service { final String LOG_TAG = "myLogs"; public void o
当我调用 this.startService(new Intent(this, Some_Service.class)); 我知道 onCreate() 被调用,然后是 onStartCommand(
我在使用实现 onStartCommand() 的服务时有点困惑。 在某些示例中,onStartcommand() 方法已实现,但在某些地方未实现。对于我需要使用此方法的原因,您能否澄清我的疑问。 最
我有一个测试项目,我的简单测试用例扩展了AndroidTestCase类: public class MyTest extends AndroidTestCase{ private Conte
我有一项服务,只要用户使用它,我就会尝试持续运行。问题是该服务使用了大量内存;我猜是因为它会通知用户并不断显示图像。所以我将大部分代码放在另一个 Activity 中。服务只是调用 Activity
我有一个后台服务,我可以使用应用程序菜单启动或停止该服务。该服务也可以在模拟器设备启动时启动。但奇怪的是,我只在设备启动时看到 toast 消息,而 jobThread 没有启动......即使我从菜
我想知道如果两个不同的线程同时调用服务A上的startService,服务是否执行onStartCommand() 两者分开还是一个取消另一个? 我想了解 Android 中的服务。 最佳答案 Ser
我必须确保我的 Service 会运行,直到我显式调用 stopService()。所以我应该从 onStartCommand() 返回 START_STICKY 标志。 我还希望万一我的服务因为内存
我注意到 Service.START_STICKY 不工作,当我仔细观察时,我看到 onCreate() 正在运行但没有调用 onStartCommand。 有什么想法吗? @Override
当我单击播放按钮播放歌曲并将歌曲 mp3 与其 bundle 在一起并在 onStartCommand 中接收时,我就开始了我的服务。问题是当我启动服务的 Activity 结束时,我的服务再次调用
我正在尝试创建一个将在后台处理文件 I/O 的服务。更新数据的 Activity 将绑定(bind)到服务并调用服务的方法来执行 I/O。我正在使用 Android 文档作为指导。 但是,我的服务似乎
我一直在查看文档,有时 onStartCommand() 返回 START_NOT_STICKY,有时返回以下内容: @Override public int onStartCommand(Inten
我有一个服务,我需要从服务 onStartCommand 访问上下文。 我怎么能这样。我是 Android 新手。 最佳答案 可以使用ServiceName.this获取Context,Service
我想从我的 Activity 类(class)中启动一项服务。问题是,onStartCommand 永远不会被调用。我在那里放置了断点,但它从未被击中。我的例子非常简单,我不明白为什么它不起作用。 M
我正在尝试在 android 中创建一个简单的服务。 我检查了“设置”->“应用程序”选项卡,可以看到该服务正在运行。不幸的是 OnStartCommand 函数没有被执行。我什至看不到 toast
我有一个运行两个独立服务的应用程序。其中一个运行平稳,另一个大部分时间都没有问题,但抛出一个 NullPointerException在 onStartCommand() 内在 4.1 和 4.4.2
我目前正在从 Service 类扩展我的自定义服务实现。作为 Android-O 迁移的一部分,我想使用 JobIntentService。 目前我所有的逻辑都在服务的 onStartCommand
我有以下代码 @Override public int onStartCommand(Intent intent, int flags, int startId) { if(intent !=
在 Android 文档中,服务的“onStartCommand()”有一个作为 param 给出的 Intent ,根据文档: “提供给 startService(Intent) 的 Intent,
我是一名优秀的程序员,十分优秀!