首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >一个服务与两个活动通信,另一个服务通信

一个服务与两个活动通信,另一个服务通信
EN

Stack Overflow用户
提问于 2011-03-27 07:59:14
回答 2查看 1.7K关注 0票数 0

因此,下面是我的场景:我有两个活动和一个服务->所有三个(类)都需要来自另一个服务的返回类型值(所以在应用程序中总共有2个活动,2个服务)。

活动A,开始->活动B和服务I。

活动B,开始->服务II。

此后,活动A、B和服务II必须与服务I通信。服务I总是运行在后面,一旦启动就永远不会停止。

我这样做的方法如下:

classes.

  • Create
  1. 编写三个.aidl文件,声明四个通信
  2. 活动A之间的接口,然后创建服务I、活动B;从活动B创建服务II. property.
  3. Connection作为服务我只能有一个onBind()方法,用于在任何时候与3个类进行通信,我所做的是通过使用setType()在每个类之间指定不同的值来区分来自3个类的所有意图,当必须使用initService()完成通信时,使用getType()属性,onBind()方法必须首先检查三个类的意图来自哪个类,使用getType()属性,并返回相应的IBinder类型.

现在,我的问题是在步骤5中,onBind()方法无法执行检查每个意图的getType()并给出相应的返回类型的操作。以下是服务i中onBinder()方法的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Override
public IBinder onBind(final Intent intent){
    Log.d(Main_Service.TAG,"it got connected");
    if(intent.getType=="Activity_A")
    {
        return new Activity_A_aidl.Stub() {
            public void function1(int u1,String p1,String p2) throws RemoteException{
                //do something
            }
        };}

    if(intent.getType=="Activity_B"){
        return new Activity_B_aidl.Stub() {
            public int function2() throws RemoteException{//do something
                return some_integer_values;
            }
        };} 
    if(intent.getType()="Service_II"){
        return new Service_II_aidl.Stub(){
            public boolean function3(String u,String p) throws RemoteException{
                //do something

            return boolean_type_variable;
            }
        };}
}

错误:如LogCat: java.lang.NullPointerException中所示

从所有的3个类(活动A,B& Service )中,无论什么地方,我都在试图-捕捉块中调用其中一个函数。

有人能告诉我我哪里出问题了吗。

-Kishore Debnath,(3年级,CSE学生)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-27 12:09:58

在不评论您的总体设计的情况下,我要补充的是,服务区分调用者的方法是使用“action”属性。我不知道initService()是什么,但是当我绑定到远程服务时,我只使用bindService()。所以在你的活动中有这样的东西:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bindService(new Intent("com.mypackage.myService.ACTION_1"), this,
                Context.BIND_AUTO_CREATE);

或.ACTION_2或.ACTION_3。

那么在您的服务清单中有一个意图筛选器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<intent-filter>
   <action  android:name="com.mypackage.myService.ACTION_1" />
   <action  android:name="com.mypackage.myService.ACTION_2" />
   <action  android:name="com.mypackage.myService.ACTION_3" />
</intent-filter>

然后在服务的onBind()中,使用返回一个字符串,标识调用者。(使用正确的.equals()方法来匹配字符串!)并返回适当的IBinder

我不认为临时演员的意图会被传递到服务部门。我从来没有义务从另一个服务服务,但我认为它可能有用。

最后一点,我只使用AIDL和远程服务,因为出于商业原因,我需要将功能划分为两个单独的.apks。我没有好的技术理由去使用它,事实上恰恰相反。

票数 1
EN

Stack Overflow用户

发布于 2011-03-27 09:49:46

,有人能告诉我哪里出了问题吗

你问过..。

  • --您不太可能需要两个服务,甚至不太可能需要一个服务与另一个服务通信,甚至更不可能需要一个服务绑定到另一个服务。
  • --您不太可能需要AIDL。
  • --您不太可能真的需要一个“总是运行在后面并且一旦启动就不会停止”的服务。
  • 不对任何东西使用Intenttype属性,只对MIME类型使用。对于希望附加到Intent.
  • Do而不是将字符串与=相比较的其他数据,请额外使用Intent,因为您在上面的第三条if()语句中。
  • 不会将代码粘贴到带有明显排字的StackOverflow问题中,比如上面的= I,或者在对getType()的调用中缺少(),就像在前两个if()语句中一样。如果它不编译,它不是一个很好的示例来展示您对情况的理解。

您的实际问题很可能来自这里没有显示的代码。您可能正在尝试在连接绑定之前(例如,在调用Binder之前)对您的onServiceConnected()对象调用方法。或者,您可能只是在您的Binder方法的实现中有bug,而这里也没有显示这些bug。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5450358

复制
相关文章
访问令牌JWT
By reference token(透明令牌),随机生成的字符串标识符,无法简单猜测授权服务器如何颁 发和存储资源服务器必须通过后端渠道,发送回OAuth2授权服务器的令牌检查端点,才能校验令牌 是否有效,并获取claims/scopes等额外信息
乐心湖
2020/08/02
1.7K0
Docker镜像详谈(3): 镜像内容存放在哪里?
据说重要的事情要说三遍,那我再表述一下个人观点:Docker 镜像是 Docker 的灵魂所在。
Henry Zhang
2019/04/12
8.6K0
Docker镜像详谈(3): 镜像内容存放在哪里?
2019年CIO应该把钱花在哪里?这个调查告诉你
新的一年,许多CIO都在考虑把预算放在哪个方向,对哪些领域的预算增加一些,对哪些领域的投资减少一些。
人称T客
2019/05/08
4870
2019年CIO应该把钱花在哪里?这个调查告诉你
这家人工智能公司告诉你应该把钱投向哪里
在2000年代中期的某个时候,对冲基金所有者想出了一个点子。金融市场是受新闻影响的—所以如果你能彻底地理解新闻,而且能非常迅速,那你就能抢在市场变化前面。利用人工智能技术,他们设计了一种软件,能实时分析爆炸性新闻,评估新闻的意义,并且能在数秒内根据上述分析进行交易。 就像在对冲基金领域的很多事情一样,这种人工智能技术仍然只是亿万富豪和专业投资者的专属。但是Amareos,一家香港创业企业,正想法设法将这项技术带给普通的投资人。 测量世界的温度 “我们尽力将大数据技术民主化,”Philippe EI-As
点滴科技资讯
2018/04/28
2.7K0
这家人工智能公司告诉你应该把钱投向哪里
XXL-JOB访问令牌(AccessToken)设置
为提升系统安全性,调度中心和执行器进行安全性校验,双方AccessToken匹配才允许通讯;
Li_XiaoJin
2022/12/28
20.8K0
XXL-JOB访问令牌(AccessToken)设置
访问令牌过期后,如何自动续期?
JWT是JSON Web Token的缩写,是为了在网络应用环境间传递声明而执行的- -种基于JSON的开放标准((RFC 7519)。JWT本身没有定义任何技术实现,它只是定义了一种基于Token的会话管理的规则,涵盖Token需要包含的标准内容和Token的生成过程,特别适用于分布式站点的单点登录(SSO) 场景。
Tinywan
2023/03/08
2.6K0
访问令牌过期后,如何自动续期?
C/C++ 实现提升访问令牌权限
在我们编程实现一些系统操作的时候,往往要求我们执行操作的进程拥有足够的权限方可成功操作。比如,我们使用 ExitWindows 函数实现关机或重启操作的时候,就要求我们的进程要有 SE_SHUTDOWN_NAME 的权限,否则,会忽视不执行操作。这时,我们唯一能够做的,就是按照要求,提升我们进程的权限。
微软技术分享
2022/12/28
7900
怎样把DataGrid存放在ViewState中的无用数据卡掉
作者:无间道的博客http://www.cnblogs.com/wangsaokui/article网络
Java架构师必看
2021/03/22
5150
JWT应该保存在哪里?
最近几年的项目我都用JWT作为身份验证令牌。我一直有一个疑问:服务端发放给浏览器的JWT到底应该存储在哪里?这里只讨论浏览器的场景,在这个场景里有三种选择。
码农小胖哥
2021/10/19
2.2K0
Apache APISIX 默认访问令牌漏洞 (CVE-2020-13945)
百度:API网关,软件术语,两个相互独立的局域网之间通过路由器进行通信,中间的路由被称之为网关。
网e渗透安全部
2022/06/15
2.9K0
Apache APISIX 默认访问令牌漏洞 (CVE-2020-13945)
Groovy 我的Class在哪里
通过将getLocation方法添加到Class类,Groovy 2.5.0可以获得Class文件的位置。 如果Class是JDK的一部分,则返回的位置是null,否则是我们使用Class文件获取JAR文件或源文件(如果可用)的位置。
白石
2019/08/23
6180
springcloud中feign的@FeignClient应该写在哪里?
最近项目组拿了友商的springcloud alibaba项目来进行改造,在翻阅他们的代码时候,发现他们把@FeignClient写在服务提供方的API上,他们这样的写法成功的引起我的注意,于是抱着好学的心态请教友商的开发人员,于是一篇水文就这么诞生了
lyb-geek
2020/11/28
2.2K0
springcloud中feign的@FeignClient应该写在哪里?
计算机网络:随机访问介质访问控制之令牌传递协议
在轮询访问中,用户不能随机地发送信息,而要通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配。当某结点使用信道时,其他结点都不能使用信道。典型的轮询访问介质访问控制协议是令牌传递协议,它主要用在令牌环局域网中。
timerring
2022/11/18
1K0
我能力的边界在哪里?
导读:能力的边界绝不是自己一出道就给自己画的圆,而是在实践中通过不断地挑战未知探索出来的。那么,这个边界就不可能是个光滑的界线,更像是一个个触角延伸在四方,不断地吸取养分,从而作用于自己的核心能力之上。
用户1756920
2018/07/23
6620
我能力的边界在哪里?
请问怎么把我的一个长网址设置到域名访问?
比如:我的网站是https://www.bw3785.com/pjie 我注册了腾讯的bw5188.com 我希望以后别人输入bw5188.com就可以访问我的第一个长网址,该如何实现? 这个问题很头疼,在域名解析里面找了半天没找到呢 比如:我的网站是https://www.bw3785.com/pjie 我注册了腾讯的bw5188.com 我希望以后别人输入bw5188.com就可以访问我的第一个长网址,该如何实现? 这个问题很头疼,在域名解析里面找了半天没找到呢
用户6354929
2019/10/02
3.7K0
Python 分析天气,告诉你中秋应该去哪里
中秋佳节将近,不知道各位小伙伴儿有没有想好去哪里玩呢。不过说实在的,每到节假日,到处都是人山人海,那句“我动也不能动”,还不时的出现在我的耳畔呢。
1480
2019/09/10
4320
Python 分析天气,告诉你中秋应该去哪里
Python 分析天气,告诉你中秋应该去哪里
中秋佳节将近,不知道各位小伙伴儿有没有想好去哪里玩呢。不过说实在的,每到节假日,到处都是人山人海,那句“我动也不能动”,还不时的出现在我的耳畔呢。
周萝卜
2020/05/22
3770
授权服务是如何颁发授权码和访问令牌的?
授权服务如何生成访问令牌? 访问令牌过期了而用户又不在场的情况下,又如何重新生成访问令牌?
JavaEdge
2021/02/23
2.8K0
授权服务是如何颁发授权码和访问令牌的?
我靠(call) ,我的未来(Future)在哪里???
大家好,我是 cxuan,之前一直在分享操作系统相关的文章,兜兜转转回到了 Java 文章分享,本篇文章是读者投稿,来和你一起聊一聊 Future ~
cxuan
2020/08/02
5290
我说我不会算法,阿里把我挂了。[通俗易懂]
工作已经有一段时间了,有的时候会跟同事们打趣:“如果你让我现在去手写一个快速排序,我怕是真的写不出来”。
全栈程序员站长
2022/08/30
2830
我说我不会算法,阿里把我挂了。[通俗易懂]

相似问题

mapbox访问令牌-我应该把它放在哪里?

10

我应该把许可证文件存放在哪里?

22

我应该把用户上传的照片存放在哪里?

11

我的Git个人访问令牌存放在哪里?

156

API访问令牌存放在哪里?

131
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文