服务绑定到活动

2024-04-13

这是我的代码:

public class MainActivity extends Activity {
    private ComponentName mService;
    private Servicio serviceBinder;

    private ServiceConnection mConnection = new ServiceConnection() {
           public void onServiceConnected(ComponentName className, IBinder service) {
             serviceBinder = ((Servicio.MyBinder)service).getService();
           }

           public void onServiceDisconnected(ComponentName className) {
             serviceBinder = null;
           }
        };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Intent bindIntent = new Intent(this, Servicio.class);
        bindService(bindIntent, mConnection, Context.BIND_AUTO_CREATE);
    }

    @Override
    protected void onStart() {
        serviceBinder.somethingThatTakesTooMuch();
        super.onStart();
    }



public class Servicio extends Service {
    private final IBinder binder = new MyBinder();

    @Override
            public IBinder onBind(Intent intent) {
    return binder;
    }

    public int somethingThatTakesTooMuch() {
        return 1;
    }

    public class MyBinder extends Binder {
          Servicio getService() {
            return Servicio.this;
          }
    }

当我运行它时, 它在这一行中得到一个 NullPointerException:

serviceBinder.somethingThatTakesTooMuch();

Your onStart在与服务的连接完成之前被调用。这不是即时的。

您只能保证在调用 onServiceConnected 之后服务已连接。然后才能调用serviceBinder上的方法。

尝试打电话serviceBinder.somethingThatTakesTooMuch()之后上线serviceBinder = ((Servicio.MyBinder)service).getService();

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

服务绑定到活动 的相关文章

  • Android 4.4.2 - java.lang.RuntimeException:执行未恢复的活动停止

    我在 4 4 2 设备上遇到此异常 在 Android 4 3 或更低版本的设备上无法重现 设置是我有一个家庭活动 支持的子类ActionBarActivity 家庭活动检查布尔标志 如果为真 则启动启动画面活动 是的 理想情况下启动画面出
  • 如何使用 ProGuard 将所有方法保留在类中

    我使用 ProGuard 来优化我的 Android 应用程序 然而 对于 Android 仪器测试 我需要一些 但不是全部 类来保留所有成员 我尝试了各种方法 最后一个是 keepclassmembers public class com
  • 安卓无法玩ogg

    有人知道这是什么意思吗 ogg使用phonegap is Media播放 它使用MediaPlayer 05 26 15 41 50 007 1160 3631 E AudioFlinger no more track names avai
  • 在 Android 中长按时从操作模式中删除后退/主页按钮

    我已经在里面长按实现了上下文操作模式recycler view 为此我打电话给ActionModeCallback从创建动作模式开始 创建动作模式时 默认显示后退箭头 检查如下 单击后退箭头 操作模式将关闭 现在我想要hide or rem
  • Retrofit-2 内容类型问题

    我的 Api 接受 Content Type application json 作为标头 我按照改造文档中所述完美设置了标题 Headers Content Type application json POST user classes C
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • Firestore - RecycleView - 图像持有者

    我不知道如何编写图像的支架 我已经设置了 2 个文本 但我不知道图像的支架应该是什么样子 你能帮我告诉我图像的文字应该是什么样子才能正确显示吗 holder artistImage setImageResource model getArt
  • 如何以编程方式断开拨出呼叫

    我使用以下代码以编程方式断开呼叫 但它不起作用 private void callDisconnect try TelephonyManager manager TelephonyManager this getSystemService
  • Android:应用内计费V3超时返回哪个响应码?

    出现网络超时情况时 Google Play 应用内结算服务 ice er V3 将返回哪些响应状态代码 它的所有功能都是统一的吗 我将在这里描述我的发现 我通过拔掉主机插头 在安装了全功能 GP GP Store V3 10 10 GP S
  • 以编程方式更新 Android 中的联系人姓名和电话号码

    我创建一个应用程序来读取 更新 删除联系人详细信息 这是更新联系人姓名和电话号码的问题 有人可以帮助我吗 我该怎么做 我正在使用以下代码 但它不起作用 Override public View onCreateView LayoutInfl
  • 如何将 android.net.Uri 转换为 java.net.URL? [复制]

    这个问题在这里已经有答案了 有没有办法从Uri to URL 我正在使用的库需要这个 它only接受一个URL但我需要在我的设备上使用图像 如果该方案的Uri is http or https new URL uri toString 应该
  • 导航抽屉默认片段

    我是一名新手开发人员 我正在将导航抽屉与 android support v7 集成到我的应用程序中 我有一个问题 当我启动应用程序时 主要布局是这样的
  • 无法获取 Facebook 传入请求

    我正在尝试在我的 Facebook android 游戏应用程序中实现发送数据并接受该数据 我正在关注https developers facebook com docs android send requests notification
  • Android 从命令行停止模拟器

    这个问题与如何通过命令行关闭Android模拟器 https stackoverflow com questions 5912403 how to shut down android emulator via cmd 但是 在尝试第一个答案
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • NoClassDefFoundError:无法解析:Landroid/support/v7/appcompat/R$styleable

    新手尝试完成 Google 提供的我的第一个应用程序教程 在这个致命异常的过程中 我确实导入了很多随机包来消除许多事情的 无法解析 错误 例如 ActionBarActivity EditText Fragment LayoutInflat
  • 在 Honeycomb Android 3.0 中显示 Action Bar 菜单项的图标

    我正在使用 Honeycomb android 3 0 开发 Android 应用程序 我正在尝试在 Action Bar 中显示菜单 菜单有一个图标和标题 当我们单击菜单项时 它会以下拉列表的形式显示其项目 它是下拉列表中带有项目名称但不
  • Android ScrollView fillViewport 不工作

    我有一个简单的布局 名称位于顶部 按钮位于屏幕底部 或者超出该按钮 以防我添加更多项目 所以我使用带有 LinearLayout 的 ScrollView 如下所示
  • 在 Android 中使用 iText 将图像添加到特定位置

    我想使用 Android 中的 iText 将图像添加到 PDF 文件中的特定位置 这是一个可填写的表单 我添加了作为图像占位符的文本框 我想要做的就是像这样获取该文本框和图像 public class FormFill public st
  • 当ScrollView滚动到底部时加载更多数据

    我有一个带有动态加载内容的滚动视图 有时可能会有很多内容 所以我想在用户滚动到底部时加载更多内容 我搜索了合适的方法 发现了两种 onScrollChanged and getScrollY 但我不知道如何将它用于我的目的 请给我一些建议

随机推荐

  • 使用 strtotime() 在 php 中计算相对日期

    我正在寻找一种可靠的方法来返回指定工作日 例如 星期一 的完整日期current week 由于今天是 2012 年 6 月 13 日星期三 我预计以导致2012 06 11 而是 php 返回2012 06 18好像它解释了本星期作为意义
  • 核心数据:3表连接?

    我知道 Core Data 不是数据库 有很多区别 是这个吗 在数据库中 我通常会有以下内容 A gt gt B gt gt C A 有很多 B B 有很多 C 查询 给我所有具有 c attr X 的 A 很容易写成 select fro
  • 关于 string.c_str() 生命周期

    我想知道是否void func const char str 参考有效的str如果我写如下 auto str string hello c str func str 它与下面的代码有何不同 func string hello c str 在
  • 查找数据集中所有点距离最近的点 - Python

    我有一个数据集如下 Id Latitude longitude 1 25 42 55 47 2 25 39 55 47 3 24 48 54 38 4 24 51 54 54 我想找到数据集每个点的最近距离 我在互联网上找到了以下距离函数
  • BufferedWriter在java中如何工作

    我经常将文本输出到文件中 我想知道一件事 怎么办BufferedWriterwork 当我打电话时它会在文件中写入文本吗writer write text 如果不写文本 我需要使用flush函数来写数据吗 例如 File file new
  • 使用 BeautifulSoup 进行网页抓取时,我可以接受或忽略 Google 隐私声明吗?

    从控制台运行以下代码时 我无法查看 Google 新闻页面的 HTML 我看到的 HTML 是 Google 隐私声明的 HTML 以 在继续之前 开头的 HTML from bs4 import BeautifulSoup import
  • 如何将数据从服务器代码传递到ejs模板?

    我有一个简单的服务器 我可以通过浏览器完美地获取 url 上的数据 我正在尝试获取 ejs 模板中的数据 这就是我获取数据的方式 app get some function req res next var size 3 var curr
  • 使用 LINQ 使用 2 个列表创建字典

    我正在尝试从 2 个列表创建一本字典 其中一个列表包含键 一个列表包含值 我可以使用 for 循环来完成此操作 但我正在尝试查找是否有一种使用 LINQ 来完成此操作的方法 示例代码会很有帮助 谢谢 在 NET4中你可以使用内置的Zip h
  • 如何更改杰克逊的默认具体地图类型?

    我有一个非常简单的 Jackson 代码来反序列化嵌套的 JSON 对象 public class MapTest public static void main String args throws Exception final Str
  • Servlet 中的 iText PDF

    因此 我正在使用此代码从我的服务器创建一个报告 PDF 文件 response setHeader Expires 0 response setHeader Cache Control must revalidate post check
  • 当超级视图完成加载时调整子视图的大小

    我知道有无数类似的问题 要么全部导致使用灵活的高度 宽度 要么将 TranslatesAutoresizingMaskIntoConstraints 设置为 false 我使用我创建的扩展添加了一个视图 extension UIView f
  • 大师必须从纱线、火花开始

    当我想要运行 SparkPi 示例时 我收到此错误 beyhan beyhan spark 1 2 0 bin hadoop2 4 home beyhan spark 1 2 0 bin hadoop2 4 bin spark submit
  • Scala 中的十六进制字符串到 Int、Short 和 Long

    只是找不到在 Scala 中将十六进制字符串转换为数字 Int Long Short 的方法 有没有类似的东西 A toInt base 您可以使用 Java 库 val number Integer parseInt FFFF 16 gt
  • 在 iOS7 上停止 Safari 提示保存卡片数据

    我有一个客户网站 提示他们在 iOS7 下保存卡详细信息 我完全找不到任何关于如何或是什么导致 iOS 决定这是正确的事情的信息 有人有任何想法吗 我们遇到了这个问题 正如 Guy Thomas 提到的 这是因为表单中的密码字段带有抄送字段
  • 有什么方法可以格式化 Plotly for Python 漏斗图中的数字吗?

    我有一个漏斗图 其中一些值大于 9000 这些值用带 K 的点符号显示 表示末尾有千 我花了 20 分钟在 Google 和 Plotly 文档中查找 但未能找到关于如何格式化数字的明确答复 这是输入数据 这是我正在使用的代码 fig px
  • v-bind:style 语法在内联样式中不起作用

    我对 Vue 和整个系统都很了解v bind事情让我陷入困境 基本上 我正在尝试实现这种语法 但是使用 Vue 的v bind 因为我不能在内联 CSS 样式中使用变量 div class card style background col
  • Bash 中使用 if-else 进行整数比较

    我有一个变量叫做choice 现在 我尝试使用 if 来比较输入的值 read choice if choice 2 then do something elif choice 1 then do something else else e
  • 如何打印我的 Java 对象而不得到“SomeType@2f92e0f4”?

    我有一个类定义如下 public class Person private String name constructor and getter setter omitted 我尝试打印我的类的一个实例 System out println
  • 访问表的第n列

    我有一个包含以下结构和数据的表 tr td td tr
  • 服务绑定到活动

    这是我的代码 public class MainActivity extends Activity private ComponentName mService private Servicio serviceBinder private