如何从android服务获取返回值

2024-02-27

我遇到的问题是我不知道如何从服务中获取返回值。为什么我想要从服务返回值是我想在活动页面中显示这个返回值。以下是我的服务文件,返回值是retvalue.

public class SyncService extends Service{
    private String forSync, lastrecordfromlocal, userdefined;
    DatabaseUtil dbUtil = new DatabaseUtil(this);

    @Override
    public IBinder onBind(Intent arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @SuppressWarnings("deprecation")
    @Override
    public void onStart(Intent intent, int startId) {
        // TODO Auto-generated method stub
        super.onStart(intent, startId);   

        forSync = common.getInfoForSync(this); 
        String[] getlist = forSync.split(":");
        lastrecordfromlocal = getlist[0].toString(); 
        userdefined = getlist[1].toString();

        if (common.isNetAvailable(this) == true) {
            SyncServiceTask InstallData = new SyncServiceTask(this);
            try {
                String (((retvalue))) = InstallData.execute(lastrecordfromlocal, userdefined).get();
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (ExecutionException e) {
                e.printStackTrace();
            }                               
        }        
        this.stopSelf();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
    }    
}

据我所知,服务与活动通信的常用方式是播送.

您可以通过以下方式在您想要“返回 retvalue”的位置发送广播:

Intent retIntent = new Intent(ServiceReturnIntent);
retIntent.putExtra("retvalue", retvalue);
sendBroadcast(retIntent);

其中ServiceReturnIntent和“retvalue”都是自定义的字符串,用于标识广播和值名称。

在您希望捕获返回值的活动中,您应该有一个广播接收器,其中包含以下内容:

public class myActivity extends Activity implements BroadcastReceiver {
    TextView myTextView;

 @Override
     OnCreate(Bundle savedInstanceState) {
         setContentView(R.layout.simple_layout);
         myTextView = (TextView) findViewByID(R.id.simple_textview);
     }  

 @Override
    public void onReceive(Context context, Intent intent) {

        int action = jumpTable.get(intent.getAction());
        switch (action) {
    case ServiceReturnIntent:
            String valueFromService = intent.getStringExtra("retvalue");
                myTextView.setText(valueFromService);
                break;
            // handle other action 
         ......
    }
}

你可以阅读本教程 http://www.vogella.com/articles/AndroidBroadcastReceiver/article.html有关 Android 中广播的更多信息。

EDIT修改示例代码并将其设置为文本视图

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

如何从android服务获取返回值 的相关文章

  • Android - 如何一次只允许播放一个 MediaPlayer 实例?

    我正在尝试创建一个简单的 Sound board Android 应用程序 使用 ListView 项目作为按钮 顺便说一句 我是一个新手程序员 我的想法是 我按下一个按钮 就会播放一个特定的声音文件 如果我在播放声音时按下任何按钮 它应该
  • Android第一次动画不流畅

    我正在尝试一个动画将 imageView 从屏幕底部滑动到屏幕中心 但是当我第一次执行此动画时 它不平滑 但当第二次执行动画时 它是正常且平滑的 我几乎尝试了所有方法 但无法解决我的问题 这是我的动画文件
  • 如何更新 Firebase 中的节点密钥?

    如何重命名14 04 2017 node 没有用于重命名节点的 API 您必须获取节点的值 使用新名称将其保存到数据库并删除旧节点
  • 共同的偏好不断消失

    我正在使用共享首选项来存储我的应用程序的登录凭据 除了一个用户之外 一切正常 一段时间后 共享偏好似乎会以某种方式重置或清除 我已针对该用户调整了我的应用程序 使其不再清除他的共享偏好设置 这样我就可以确定这不是我的应用程序的错 但即使在这
  • Delphi XE7 Android 全屏(隐藏软键)

    如何在XE7中全屏显示 隐藏顶部 标题 和底部 软键 工具栏 在 XE6 中 我可以通过在应用程序部分写入来调整 AndroidManifest 以使我的应用程序全屏显示并且没有操作栏 android theme android style
  • KitKat(及更低版本)设备上的 Android Material Design

    我将在我们学校开发一个 Android 应用程序作为一个项目 我想使用 Google 的新 Material Design 但我知道它仅适用于 Android L 设备 Jack Underwood 最近发布了名为 Today Calend
  • 设置从 Facebook 登录获取用户电子邮件 ID 的权限

    我在用着Facebook 3 0 SDK对于安卓 我必须实施Facebook登录 我正在访问用户的基本信息 例如姓名 用户 ID 但我也想访问用户的电子邮件 我浏览了很多博客和论坛 但不知道该怎么做 我正在使用我自己的 android 按钮
  • 如果我们使用后退按钮退出,为什么 Android 应用程序会重新启动?

    按住主页按钮并返回应用程序时 应用程序不会重新启动 为什么使用后退按钮会重新启动 如果我们使用后退按钮退出 有什么方法可以解决在不重新启动的情况下获取应用程序的问题吗 请帮忙 当您按下Home按钮 应用程序将暂停并保存当前状态 最后应用程序
  • 如何查找 Android 设备中的所有文件并将它们放入列表中?

    我正在寻求帮助来列出 Android 外部存储设备中的所有文件 我想查找所有文件夹 包括主文件夹的子文件夹 有办法吗 我已经做了一个基本的工作 但我仍然没有得到想要的结果 这不起作用 这是我的代码 File files array file
  • 如何在 sqlite 中将 2 列合并为新列

    我有一个包含 3 列的表 我必须将 2 列中的值按降序排列到一列中 A B C z 1 2 f 5 7 s 9 5 使用此示例 输出会将 B 列和 C 列中的值放入其中 如下所示 A B s 9 f 7 f 5 s 5 z 2 z 1 我当
  • OnClick 事件中的 finish() 如何工作?

    我有一个Activity一键退出Activity 通过layout xml我必须设置OnClick事件至cmd exit调用 this finish 效果很好 public void cmd exit View editLayout thi
  • Firebase:如何在Android应用程序中设置默认通知渠道?

    如何设置default通知渠道通知消息当应用程序在后台运行时会出现什么情况 默认情况下 这些消息使用 杂项 通道 如你看到的在官方文档中 https firebase google com docs cloud messaging andr
  • Android 版 Robotium - solo.searchText () 不起作用

    我在使用 Robotium 时遇到 searchText 函数问题 我正在寻找这个字符串
  • 在 Jetpack Compose 中启动动画矢量 Drawable

    我有一个动画矢量可绘制R drawable my anim 我想在 Jetpack Compose 中展示并开始 可绘制对象显示 渲染正确 但动画未启动 这是撰写视图 Composable fun SplashView Surface mo
  • Android 启动器快捷方式

    我制作了一个简单的打卡 打卡时钟应用程序 我想向用户添加在主屏幕上创建快捷方式的选项 该快捷方式将切换应用程序的状态 超时 超时 但我根本不希望此快捷方式在屏幕上打开应用程序 这是我的 setupShortcut private void
  • ROOM迁移过程中如何处理索引信息

    CODE Entity tableName UserRepo indices Index value id unique true public class GitHubRepo PrimaryKey autoGenerate true p
  • 调节麦克风录音音量

    我们正在尝试调整录音时的音量级别 麦克风似乎非常敏感 会接收到很多静电 我们查看了 setVolumeControlStream 但找不到传入其中来控制麦克风的流 将您的音频源设置为 MIC using MediaRecorder Audi
  • 如何创建像谷歌位置历史记录一样的Android时间轴视图?

    我想设计像谷歌位置历史这样的用户界面 我必须为我正在使用的应用程序复制此 UIRecyclerView 每行都是水平的LinearLayout其中包含右侧的图标 线条和视图 该线是一个FrameLayout具有圆形背景和半透明圆圈Views
  • 将 JSON 参数从 java 发布到 sinatra 服务

    我有一个 Android 应用程序发布到我的 sinatra 服务 早些时候 我无法读取 sinatra 服务上的参数 但是 在我将内容类型设置为 x www form urlencoded 之后 我能够看到参数 但不完全是我想要的 我在
  • 在 Android 中,如何将字符串从 Activity 传递到 Service?

    任何人都可以告诉如何将字符串或整数从活动传递到服务 我试图传递一个整数 setpossition 4 但它不需要 启动时总是需要 0 Service 我不知道为什么我不能通过使用 Service 实例从 Activity 进行操作 publ

随机推荐

  • 如何检查字典是否是另一个复杂字典的子集

    我需要验证另一个字典是否是另一个字典的子集 有一个技巧 在这些字典中有字典数组 超集 dct 1 x x y t 123 a a subset dict 2 x x y t 123 from 检查字典是否是另一个字典的子集的递归函数 htt
  • 如何在 WinUI 3 中从 C# 调用 Powershell 函数

    我正在尝试调用 PowerShell 脚本文件中的函数 我在用WinUI 3 我在调试器输出中得到难以理解的输出 并且 PowerShell 脚本似乎根本没有执行 我已验证当我直接从 PowerShell 运行 PowerShell 脚本
  • C# 最高字符串

    这看起来很微不足道 但我没有通过谷歌找到答案 我正在寻找排序字符串列表末尾的信号量字符串的高值 在我看来 char highest ToString 应该这样做 但这比较低 而不是高 显然 创建尽可能高的字符串是不可能的 因为它总是低于相同
  • 在 spring-mvc 上处理密码确认

    我正在 spring mvc 中进行用户增删改查 我的模型具有以下属性 private Long id private String password private String username private Collection
  • 电子邮件营销经理如何报告退回的电子邮件?

    谁能指出我如何处理捕获退回电子邮件信息的正确方向 我正在考虑编写一个电子邮件活动经理 并且希望能够报告该数据 您可以编写一个应用程序来轮询坏邮件文件夹以识别退回的电子邮件 发送电子邮件后 您应该等待一段时间 然后再检查电子邮件是否已送达或退
  • pandas数据框的条件过滤

    我有一个关于足球结果的熊猫数据框 数据帧的每一行代表一场足球比赛 每场比赛信息如下 Day WinningTeamID LosingTeamID WinningPoints LosingPoints WinningFouls 1 13 1
  • 如何输出DOM文档?

    也许我遗漏了一些东西 但是这段代码中的 DOM 对象是空的 input file get contents http www google com doc new DOMDocument doc gt loadHTML input supr
  • 如何在 MLPClassifier 中设置初始权重?

    我找不到设置神经网络初始权重的方法 有人可以告诉我如何设置吗 我正在使用 python 包 sklearn neural network MLPClassifier 这是供参考的代码 from sklearn neural network
  • JS 闭包上下文对象的生命周期?

    背景 我正在尝试移植长生不老药演员模型语言原语转换为 JS 我想出了一个解决方案 用JS 来模拟receiveelixir 关键字 使用 接收器 函数和生成器 这是一个简化的实现和演示 向您展示这个想法 APIs type ActorRef
  • 即使使用相同的密钥库,更新 apk SHA1 也会有所不同

    I have uploaded my app to Goggle Play few months back after signing it with a release keystore I have stored that Keysto
  • 检查 exec.Cmd 是否在 Go 中运行完毕

    我正在尝试检查是否exec Cmd 在跑在这些场景中 在我真正开始命令之前 命令开始之后但完成之前 命令完成后 这将允许我终止该命令 如果它正在运行 以便我可以使用不同的参数再次启动它 下面是一个简单的用例 c exec Command o
  • 网络浏览器无法打开新窗口

    我刚刚找到了一份远程工作的新工作 我必须通过打开一堆页面并登录来开始我的一天 我很想自动化这个过程 因为它可能有点乏味 我想保留我的个人浏览窗口并打开一个包含我需要的所有页面的新窗口 这是我想做的事情的要点 import webbrowse
  • iOS 8 / Safari 8 不支持 ASP.NET AJAX 扩展

    iOS 8 推出后 我们的网站突然停止运行 ASP NET UpdatePanel 内的每次回发都会导致一个空页面 如果在 Safari 8 在 Mac 上 中将用户代理设置为 Chrome 它仍然有效 我已经发现 一些 ScriptRes
  • 受歧视工会没有多余的财产检查

    给定的是受歧视的联合类型S1 S2 S3 type S1 d1 foo type S2 d1 bar isSuccess true type S3 d1 baz isSuccess false errorMessage string typ
  • Google App Engine:添加到任务队列比执行数据存储写入更快吗?

    我正在尝试通过将后台任务添加到任务队列而不是立即执行操作来优化应用程序的一些面向用户的部分 对于 CPU 密集型任务来说 这样做是一个明显的选择 但是如果只是保存数据呢 平均而言 执行 taskqueue add 操作或 db put 操作
  • 如何切换标记?

    我制作标记的代码 for var marker in markers var posMarker new google maps Marker position new google maps LatLng markers marker l
  • 重定向多个标准输入?

    我有三个文件 名为一 二 三 其中一项包含 1 3 2 两个包含 4 6 5 三包含 7 9 8 当我发出以下命令时 sort lt One lt Two lt Three 我得到输出 7 8 9 但是当我发出以下命令时 sort One
  • 使用 Inno Setup 安装时应用程序无法运行

    我正在开发桌面数据库应用程序 使用rdlc报告和reportviewer 开发过程中一切顺利 reportviewer 可以顺利显示所有数据 我使用 Inno Setup 部署应用程序 但是当我安装该应用程序时 报告查看器不显示数据 当数据
  • jsPDF/html2canvas 通常会丢失空格和文本错位

    我正在使用 html2canvas 和 jsPDF 生成 pdf 客户端 无论我选择什么设置 我都会在 html 到 pdf 渲染中丢失字母空格 有设置可以解决这个问题吗 我已经检查了 API 并更改了我能想到的所有可能的设置 但间距没有改
  • 如何从android服务获取返回值

    我遇到的问题是我不知道如何从服务中获取返回值 为什么我想要从服务返回值是我想在活动页面中显示这个返回值 以下是我的服务文件 返回值是retvalue public class SyncService extends Service priv