OnServiceConnected 没有被调用

2023-12-12

我已经提到了以下问题,但找不到答案:

  • 无法获取服务对象(onServiceConnected 从未调用),
  • onServiceConnected 没有被调用,出现空指针异常, and
  • onServiceConnected 在bindService 方法之后从未调用

这是我的代码:

@Override
    public void onStart() {
        super.onStart();
        Context context = getApplicationContext();
        Intent intent = new Intent(context, PodService.class);
        context.bindService(intent, mPodServiceConn, Context.BIND_AUTO_CREATE);

    }




    private ServiceConnection mPodServiceConn = new ServiceConnection() {
                @Override
                public void onServiceConnected(ComponentName className, IBinder service) {
                    Log.e(TAG, "Pod: Service Connected");
                  mPodService = IPodService.Stub.asInterface(service); //here i am getting NullPointerException
                }
        }

我的服务类什么也没有包含,只有这么多,我已经在下面展示了

public class PodService extends Service {
@Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        Log.d("bound", "bound");
        return null;
    }

 static class PodSeviceStub extends IPodService.Stub {

//here i implemented unimplemented methods

    }
}

但在 lolcat 中我只得到“bound“来自 onBind() 函数的消息,但不打印”Pod: Service Connected”,表示服务启动成功。 在 lolcat 我得到NullPointerException并且在清单文件中也提到了。


我重写了服务类,以便 onBind() 返回 IBinder,如下所示。

public class PodService extends Service {
@Override
    public IBinder onBind(Intent intent) {

        Log.d("bound", "bound");
        return mBinder; // returns IBinder object
    }

    private final IBinder mBinder = new PodSeviceStub(this);

 static class PodSeviceStub extends IPodService.Stub {

         WeakReference<PodService> mService;

        public PodSeviceStub(PodService service) {// added a constructor for Stub here
            mService = new WeakReference<PodService>(service);
        }
//here i implemented unimplemented methods

    }
}

现在可以了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OnServiceConnected 没有被调用 的相关文章

随机推荐

  • Java两次之间的差异[重复]

    这个问题在这里已经有答案了 可能的重复 计算两个 Java 日期实例之间的差异 时间 1 17 05 时间 2 17 08 我想在几秒钟内得到差异 long diffInMillis newerDate getTime olderDate
  • 在 Pig 中提取 CSV 文件的第一行

    我有几个 CSV 文件 标题始终是文件中的第一行 在 Pig 中将该行作为字符串从 CSV 文件中取出的最佳方法是什么 不能使用 sed awk 等进行预处理 我尝试使用常规 PigStorage 和 Piggybank CsvLoader
  • JavaScript |运算符[重复]

    这个问题在这里已经有答案了 谁能解释一下什么是 和之后的值呢 我知道 0 的输出会创建 13 个集合 即数字 3 2 1 0 但是 呢 1 或 2 var i 52 while i alert i 13 0 它是按位或运算符 有解释和例子在
  • 如何将 java 代码嵌入到批处理脚本中?是否可以创建 .java/.bat 混合文件?

    虽然有一些技术可以让您创建perfect 并非如此perfect 批处理文件与一些 本机 Windows 脚本语言的混合体 完美 的混合体应该是什么样子 嵌入的代码必须可以按原样使用 并且您应该有能力 将其复制粘贴到您想要的任何其他编辑器
  • 虚拟基类的创建顺序

    我有以下问题 struct A1 A1 std cout lt lt A1 struct A2 A2 std cout lt lt A2 struct AA1 virtual A1 A2 AA1 std cout lt lt AA1 str
  • 使用 Cobertura 从代码覆盖率中排除方法

    有没有办法将代码排除在 Cobertura 覆盖率报告之外 我们有一些方法不应包含在覆盖率报告中 因此不会降低覆盖率数字 我知道Clover有这样的功能 但我还没有找到Cobertura的类似功能 您可以从检测中排除类 那么它们就不应该出现
  • 如何在ListView上长按时传递变量?

    我会有列表视图和里面的很多项目 我希望用户可以长按项目并将其设置为收藏夹 为此 我需要长按此菜单获取数据库 ID 我有以下代码 Override public void onCreateContextMenu ContextMenu men
  • Spring批处理:输入资源不存在类路径资源

    我目前正在开发一个 Spring Batch 它首先将 Excel xsls 文件转换为 CSV 然后读取 CSV 处理它并将其数据存储在数据库中 第一步效果很好 批次在第二步停止并抛出此警告 Input resource does not
  • Google Play 游戏实时多人游戏:获取参与者 ID 并将其存储到字符串中

    我正在我的统一游戏中第一次尝试谷歌实时多人游戏 QuickMatch工作得很好 我的意思是我能够获取连接的参与者的 ID 并将其存储到一个字符串中 使用 string MyId PlayGamesPlatform Instance Real
  • 是否可以比较 SQL Server 中相似数据的行

    是否可以在 SQL Server 中比较类似数据的行 我的表中有一个公司名称列 其中公司名称可能有些相似 以下是代表相同 4 个公司的 8 个不同值的示例 ANDORRA WOODS ANDORRA WOODS HEALTHCARE CEN
  • Lua和javascript可以连接吗?

    我不确定这个问题是否恰当 因为英语不是我的母语 lua 和 javascript 可以连接在一起吗 我还没有找到任何相关信息 或者是否有可能 例如在 html 文件中使用两种语言编写脚本 例如 也许可以在这些语言之间共享信息 或者是否可以在
  • 如何在 Java 中合并 CSV 文件

    我的第一个 CSV 文件看起来像这样 包含标题 标题仅包含在顶部 而不包含在每个条目之后 NAME SURNAME AGE Fred Krueger Unknown n records 我的第二个文件可能如下所示 NAME MIDDLENA
  • JavaScript 正则表达式电子邮件验证[重复]

    这个问题在这里已经有答案了 此代码始终会发出警报 null 这意味着字符串与表达式不匹配 var pattern w a zA Z a zA Z 2 3 function isEmailAddress str str email prote
  • 使用 dictwriter 覆盖同一 csv 文件中的行

    我有名字 csv first name last name Baked Beans Lovely Spam John Bang Harry Potter 我想在同一文件中将 John Ban 重命名为 jason statham 我尝试使用
  • Laravel 5.1 找不到路由对象

    请帮助我 我正在使用最新版本的 xampp 开发 Laravel 并且不知道问题的原因是什么 这条路线运行良好 Route get function return aa 此路线给出错误 未找到对象 Route get about funct
  • 带参数的 mongoexport + node.js + 子进程

    我正在尝试使用 node js 从 mongodb 导出 csv 为此 我从以下代码开始 app get export function req res var spawn require child process spawn ls sp
  • URL 重写模块的自定义重写提供程序

    我有一个在 IIS 中运行的 URL 重写模块的自定义重写提供程序 我使用它根据自定义逻辑重定向请求 它是基于这样的 http www iis net learn extensions url rewrite module developi
  • SELECT 如何返回未排序的结果集?

    当我访问此链接时 我只是想以相反的顺序显示 SELECT 查询的结果集 选择 MySQL 中的最后一行 在一个答案中提到关系数据库没有第一行或最后一行 所以我的问题是我们是否输入SELECT FROM table name 结果集是否必须与
  • 模板文字在反应中不起作用

    我的代码如下 模板文字不会在 span 标记中创建多行字符串 而它会在控制台中创建多行 import React Component from react import ReactDOM from react dom class MyApp
  • OnServiceConnected 没有被调用

    我已经提到了以下问题 但找不到答案 无法获取服务对象 onServiceConnected 从未调用 onServiceConnected 没有被调用 出现空指针异常 and onServiceConnected 在bindService