startService() 从服务类本身

2024-02-09

我尝试从服务类启动 android 服务。 这样做的原因是为了实现一定的平台独立性。

这样做我在 android.content.ContextWrapper.startService(ContextWrapper.java:326) 处收到 NullPointerException。平台目标是2.1-update1,有什么建议吗?

请参阅下面的代码(我保留了导入以节省一些空间)

/* GUI: HelloAndroid.java */
package com.example.helloandroid;

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

        // that works!
        startService(new Intent("com.example.helloandroid.UnusualService"));

        // stop the service works of course, too
        stopService(new Intent("com.example.helloandroid.UnusualService"));

        // unusual start does not work:
        UnusualService myService = new UnusualService();
        myService.startService();
    }
}

/* Service: UnusualService.java */
package com.example.helloandroid;

public class UnusualService extends Service {    
    @Override
    public void onCreate() {
        Toast.makeText(this, R.string.service_started, Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onDestroy() {
        Toast.makeText(this, R.string.service_stopped, Toast.LENGTH_SHORT).show();
    }

    @Override
    public IBinder onBind(Intent intent) {
        return null; // make something here when the rest works 
    }

    public void startService() {
        // folowing line will cause the NullPointerException
        startService(new Intent("com.example.helloandroid.UnusualService"));
    }

    public void stopService() {
        stopSelf();
    }
}

当然 - 您新创建的服务没有对​​上下文的引用,因此上下文是null因此系统会抛出一个NullPointerException。 请记住:不要使用以下方式自行创建服务new- 系统会为您做这件事!

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

startService() 从服务类本身 的相关文章

  • 如何从 AAR 依赖项中排除特定资源?

    有没有一种相当简单的方法来实现模块的build gradle文件来指示应排除依赖项中的某些文件 我特别感兴趣的是从 AAR 中排除某些资源 金丝雀泄密 https github com square leakcanary是一个有趣的库 可帮
  • onActivityResult 中的完成活动不起作用

    我有一对必须同生共死的活动 基本上 AlphaActivity 会做一些工作 然后发送一个意图 startActivityForResult 对于 Beta 活动 当 Beta 活动完成时 我希望它发送一个意图 startActivity
  • 带阴影的弯曲 Android 工具栏

    我需要为工具栏或卡片视图提供弯曲的底视图 我尝试过的 bg toolbar xml
  • ACTION_VIEW 的 Intent.createChooser 仅显示默认浏览器

    我正在尝试使用 Intent createChooser 显示应用程序选择器对话框 该对话框将列出用户手机中所有可用的网络浏览器 我正在使用下面的代码 Intent browserIntent new Intent Intent ACTIO
  • 为什么 Kotlin 数据类可以在 Gson 的不可空字段中包含空值?

    在 Kotlin 中你可以创建一个data class data class CountriesResponse val count Int val countries List
  • doInBackground 运行时是否可以停止 asynctask?

    我正在 ActivityB Oncreate 中创建异步任务 在该任务中 我正在运行无限 while 循环doInBackground 当我转到上一个活动并再次回到该活动时 创建了另一个异步任务 我的问题现在是两个无限 while 循环正在
  • android 谷歌+登录定制

    我正在创建一个 Android 应用程序 现在我正在实现社交网络登录 Facebook 按钮很好 但 google 按钮的语言与 Facebook 不同 另外 它只说 登录 我想让它说 用谷歌登录 我是 android 编程的新手 看到我需
  • Mailgun POST /messages API 总是抛出 401 禁止

    我正在尝试使用改造库在 Android 中发送 Mailgun POST messages API 请求 以下是改装要求 HTTP POSThttps api key xxx v3 sandboxxxx messages https api
  • Flutter / FireStore:如何在 Flutter 中显示 Firestore 中的图像?

    我想将我在应用程序中使用的一些图像放入 Firestore 并从那里显示它们 而不是将它们作为资产捆绑在我的应用程序中 为了做到这一点 我想出了以下解决方案 对于我想要显示图像的项目 我创建了一个 Firebase 文档 其中有一个字段存储
  • 如何检测 Google Play 上是否有我的应用程序的更新? [复制]

    这个问题在这里已经有答案了 有没有办法以编程方式检查 Google Play 上我的应用程序是否有更新 以便通知用户 我知道 android google play 有自动通知 但我想使用我自己的通知 弹出消息来更新可用性 有点像 Vibe
  • Cordova 地理定位不适用于 Android

    我想在 Android 上使用地理定位 我用 Apache Cordova 编写应用程序 地理定位在 android 电脑模拟器和 android 手机上均不起作用 I try http cordova apache org docs en
  • 如何在 Android 上的 HttpPost 中发送 unicode 字符

    我试图在我的应用程序中允许多语言支持 这会发出 HTTP post 来上传新消息 我需要做什么才能支持日语和其他非拉丁语语言 我的代码目前看起来像这样 note the msg string is a JSON message by the
  • 当参数具有默认值时,为什么无法使用导航组件将参数传递给片段?

    我正在使用导航组件 但我不明白为什么如果定义了参数 则将参数传递给下面的方法时会出现错误 我正在使用 SafeArgs 只有当我为此参数定义默认值时才会出现此错误 有人可以解释一下为什么会发生这种情况以及如何解决它吗 这是导航图的部分代码
  • 当应用程序未运行时如何堆叠 Firebase Cloud Messaging 通知?

    我在用Firebase Cloud Messaging将推送通知从我的服务器发送到我的 Android 应用程序 当应用程序运行时 通知是stacked因为我将它们设置为我的一个组FirebaseMessagingService 这很好 但
  • 手动启用时 Firebase Crashlytics 不报告崩溃

    Crashlytics 在没有选择加入报告的情况下也能正常工作 但一旦我根据规定设置了选择加入报告 它就会停止报告任何内容tutorial https firebase google com docs crashlytics customi
  • 更改android中禁用按钮的颜色

    有没有办法通过样式或其他形式更改 android 中禁用按钮的颜色 我目前有以下内容 可绘制 button default xml
  • 无法在 Android 模拟器中安装 apk

    我正在尝试通过 adb shell 在 ICS 模拟器中安装 apk 从一个站点下载 但出现以下错误 失败 INSTALL FAILED UID CHANGED 可能是什么问题 只需 rm r 有问题的数据目录即可 如果您在安装时遇到此错误
  • 如何在新标签 android webview 中打开链接? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经使用 webview 创建了一个 android 应用程序来显示我的网站 我什至想添加在新选项卡中打开链接的功能 但我找不到任何
  • Android:单一活动,多个视图

    我不是 Android 专业人士 尽管我开发了一个包含 50 多个活动的应用程序 这使得该应用程序非常庞大 经过8周的开发 现在出现了一些问题 导致应用程序难以维护和升级 我正在处理的主要问题是 我无法将对象引用传递给活动的构造函数 事实上
  • 按名称查找视图

    是否可以通过名称而不是 id 来查找视图 findViewById R id someView 但我想做这样的事情 findViewByName someView 在处理 xml 时 您必须通过标识符查找视图 但是您可以使用以下方式查找标识

随机推荐

  • Android Phonegap 应用程序中未获取 cookie

    Android 4 4 2 Cordova 3 4 1 jQuery 2 1 0 jQuery Mobile 1 4 2 我需要将登录凭据发布到服务器 本例中为 IBM Domino 9 01 但它无关紧要 并且服务器会使用会话 cooki
  • 以编程方式禁用特定 PHP 函数进行测试

    我有一个使用 cURL 发出 HTTP 请求的函数 该请求返回到file get contents 如果 cURL 在系统上不可用 我想为此函数编写单元测试 利用 PHPUnit 其中 cURL 可用于某些测试 但不可用于其他测试 是否可以
  • 如何将客户端的 Python 套接字连接到 Node.js/socket.io?

    我想通过套接字将 Blender v2 55 连接到网页 对于 Web 部分 我可以使用 Node js 和 socket io 我已经使用了一点node js socket io 我认为这不是问题 现在 对于 Blender 它在 Pyt
  • 什么 JQuery 选择器排除父级与给定选择器匹配的项目?

    I have var set foo bar filter function return this parents baz length lt 1 作为选择其类的所有元素的一种方式foo or bar并且谁不是其类的元素的后代baz 是否
  • Hive gzip 文件解压

    我已经将一堆 gz 文件加载到 HDFS 中 当我在它们之上创建一个原始表时 我在计算行数时看到了奇怪的行为 比较 gz 表和未压缩表的 count 结果 结果有约 85 的差异 文件 gz 压缩后的表记录较少 有人见过这个吗 CREATE
  • 如何让 jquery.couch.app.js 与 IE8 一起使用

    我已经在 Windows XP SP3 的 IE7 和 IE8 所有兼容模式 和 Windows 7 Ultimate 的 IE8 所有兼容模式 上进行了测试 并且在两者上都以同样的方式失败 我正在运行最新的 HEADcouchapp ht
  • 使用 UIDynamicAnimator 水平动画 UIView

    我已经阅读了文档 但我很不好意思地说我很困惑 场景 我有一个UIView 就像一个容纳 3 的容器UIButtons 该容器最初是有界限的 0 0 35 35 里面的每个按钮都有相同的坐标 alpha0 在用户执行特定操作时 容器的边界更改
  • 使用 R 在矩阵中的特定位置插入行

    我正在尝试将行添加到矩阵的特定位置 其中位置包含在向量中 下面的架构显示了输入和预期结果 我尝试使用 for 循环但无法使其工作 任何建议都有帮助 源矩阵 6x3 1 1 2 3 2 4 5 6 3 7 8 9 4 6 9 2 5 3 6
  • eclipse (pom.xml) 中的 Maven 错误:无法传输 org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4

    我想使用 Maven 来创建 Web 项目来自动导入我需要的所有库 所以我选择 maven archetype webpp 之后我在 pom xml 文件上收到此错误 Description Resource Path Location T
  • 属性不可分配给接口中的字符串索引[重复]

    这个问题在这里已经有答案了 我有以下接口 export interface Meta counter number limit number offset number total number export interface Api
  • C# 中的 LFU 缓存?

    C 中是否有现成的 LFU 缓存 Java 有大量的 LFU 缓存实现 应该很容易移植到 C 例如 http faq javaranch com view CachingStrategies http faq javaranch com v
  • 识别图像中的 visio 形状

    在提供 SCADA 解决方案时 我们经常会获得结构化控制图 如下所示的 visio 类似流程图 中指定的最终用户规范 这些规范通常以 PDF 格式或图像形式提交 为了在 C 中访问这些 我希望使用 OpenCV 库之一 我正在研究模板识别
  • C++ 数据库访问库

    背景 我有一个用本机 C 编写的应用程序 它使用 wxWidgets 工具包的 wxODBC 数据库访问库 该库正在removed http wiki wxwidgets org ODBC来自 wxWidgets 的所有未来版本 我需要用另
  • 调用aspx页面随机返回图像慢

    好的 问题来了 我有一个asp net网站 有一个名为GetThumbnail aspx的aspx页面 代码如下 string newThumbnailPath ReaderUtilities GetThumbnailPath ptiId
  • Three.js / OrbitControls 未定义

    当我尝试导入 OrbitControls js 时 出现以下内容 我得到了Cannot use import statement outside a module error 所以 我使用 但这次我得到 ReferenceError Orb
  • 三.js渲染完成

    有没有办法知道对象何时完成渲染 我知道其中一个示例中有一个进度条 但我正在寻找一个简单且不复杂的示例 我已经查看了我正在使用的加载器 OBJMTLLoader 和渲染器 WebGLRenderer 我没有注意到一个简单的 renderer
  • 如何在 Enum 上设置空间

    我想在我的枚举上设置空间 这是我的代码示例 public enum category goodBoy 1 BadBoy 我想设置 public enum category Good Boy 1 Bad Boy 当我检索时我想看到Good B
  • 从 r 连接 oracle

    我是新来的R并尝试使用此处所述的方式连接到 Oracle 我下载了即时客户端 但除了一些 dll 文件之外找不到任何东西 请大家逐步指导我如何从以下位置连接到 Oracle R 我查看了一些解决方案 但它们无法解决 请告诉我是否有连接到 o
  • 如何用 C++ 为 GLSL 制作一维 lut

    我开始了解如何实现片段着色器来执行 1D LUT 但我正在努力寻找任何好的资源来告诉您如何在 C 中制作 1D LUT 然后对其进行纹理处理 因此 对于一个简单的示例 给出以下 1D lut 我会用以下数据创建一个数组吗 int color
  • startService() 从服务类本身

    我尝试从服务类启动 android 服务 这样做的原因是为了实现一定的平台独立性 这样做我在 android content ContextWrapper startService ContextWrapper java 326 处收到 N