草庐IT

android - 从另一个 Context 向 HostApduService 传递信息

之前有人问过这个问题,但没有得到回应,所以我会尝试用不同的方式来表达这个问题。有哪些不同的方法可以将一些数据传递给AndroidService而不能绑定(bind)到它或自己启动它?这就是问题所在-我有一个HostApduService,它由操作系统在每次NFC卡交易时启动。它需要权限android.permission.BIND_NFC_SERVICE,这是一个系统权限,所以我的应用程序无法绑定(bind)到它。我不想让数据处于静止状态,因此写入磁盘的任何内容都是不行的。我想到了一些可能的解决方案,但它们要么困惑要么不安全:将数据放入我们应用的SharedPreferences。这就

java - 为什么 AIDL/Messenger 绑定(bind)到服务?

场景:我有一个Controller(普通Java类),它必须能够控制多个Slave。Slave的性质可能不同,因此它可以是:一个Service,我们称它为ServiceSlave:这个对象的生命周期通常不同于应用程序的组件(也就是说,它不依赖于当前Activity)一个简单的Java类,例如ObjectSlave:此对象的生命周期在某种程度上受限于创建它的范围(例如,当前Activity)这两种类型的Slave的共同点是,它们可以驻留在不同的进程中。由于这最后一个“要求”,我立即将注意力转向AIDL/Messenger作为Controller和Slave,因为它提供IPC。但是,似乎A

android - 从 Android 中的未绑定(bind)服务获取数据

我目前有一个未绑定(bind)的服务,该服务不断运行,获取我在启动时启动的gps位置。然后我有一个应用程序,它可以通过从服务中提取数据来绘制我去过的地方。我无法绑定(bind)服务与其对话,否则一旦我关闭应用程序,它就会被销毁。有没有什么好的方法可以从未绑定(bind)的服务中获取数据,或者在我解除绑定(bind)后防止绑定(bind)的服务死亡?干杯!:) 最佳答案 有一种解决方法可以使您的服务保持Activity状态。通过调用startService来调用您的服务,然后绑定(bind)到该服务。这样您的Activity就可以维护

Android:startActivityForResult 不调用 onActivityResult

我的设置在自己的进程中运行的服务,CentralService调用startActivityForResult()、MainActivity的Activity正在为结果启动的ActivityReturnResultActivity我想做什么启动ReturnResultActivity并将其绑定(bind)到服务(注册其处理程序)让任何其他想要运行的Activity运行当它收到来自服务的消息时:与服务解除绑定(bind)完成()设置结果()调用MainActivity的onActivityResult()方法使用Log.i我已经确认步骤1到3发生了。但是,当应该调用onActivityR

android - 如何使用应用程序接口(interface)将蓝牙套接字传递给另一个 Activity

据我所知,Socket连接既不可序列化也不可打包,但我需要将蓝牙连接传递给另一个Activity。我不想作为中间人编写服务,所以请不要将其作为解决方案发布。我听说有一种方法可以使用自定义应用程序接口(interface)传递这些类型的对象,但我无法在我的生活中找到一个有效的例子。我看过很多文档说“这是可能的”,但没有说明如何做到这一点。 最佳答案 定义您的应用类:classMyApplicationextendsApplication{//yourfieldshere}将name属性添加到应用程序list。在Activity中使用它

android - Binder 防止垃圾回收

我想我追踪到了内存泄漏,并想确认我认为Android的Binder是如何实现的。在这种情况下,我有一个服务和一个Activity,每个都在自己的进程中。我创建了一个AIDL,它允许我通过ipc方法将回调对象从Activity传递到服务,然后在服务完成请求的任务时调​​用回调。很长一段时间我都在想:如果我将一个新的回调对象传递给服务并且我没有在我的Activity中保留指向回调对象的指针为什么垃圾收集器不继续进行并在我的Activity进程中收集回调?既然这似乎没有发生,JVM如何知道何时在我的Activity中垃圾收集回调。我想答案是Binder系统在Activity进程中保留了一个指

android - 我们可以在android NDK代码中使用系统IPC吗

这里我想使用像这样的系统IPC方法/*SysVmessagequeues*//*GeneralIPCdefinitions*/这里我的androidNDK代码是C语言的,我使用消息队列IPC机制与其他C应用程序通信。所以请让我知道有什么方法可以实现这个IPC目标吗?如何在androidNDK代码中实现这种IPC机制? 最佳答案 一年前,我写了一篇关于这个主题的调查。这是其中的一部分:2UnixIPC机制UnixIPC机制包括:Unix信号。Unix管道。Unix域套接字。同时,Android中不包含UnixSystem-VIPC机制

android - 如何从 Widget/本地服务调用 Android 远程服务 (IPC)?

我正在尝试从一个小部件远程控制动态壁纸。它们在同一个APK中,但显然是不同的进程。调用动态壁纸的“Activity”对我来说没什么用,因为这是一个不同的过程。该小部件具有简单的按钮,按下时,那么(我认为)我需要的是IPC和AIDL。首先,我在墙纸端创建了AIDL,效果很好。它具有三个没有额外参数的方法。但是当我将客户端添加到小部件时,我收到一条错误消息,告诉我无法绑定(bind)到该远程接口(interface),因为该小部件已经是一个BroadcastListener。我尝试在不需要Widget成为BroadcastListener的情况下进行按钮处理,但这似乎是不可能的。没问题吧?

android - 如何处理服务和 Activity (及其子 Activity )之间的 IPC?

可以管理Android中两个不同进程(一个服务和一个Activity)之间的通信viaMessengerorAIDL:Activity绑定(bind)到服务就足够了。但是,如果此Activity有一个或多个子Activity会怎样?从主Activity启动子Activity的那一刻起,我希望将通信重定向到子Activity;同样,当子Activity被销毁时,我希望通信被重定向回主Activity等。示例#1:MyServiceMainActivityMainActivity启动SubActivity,然后启动MyServiceSubActivitySubActivity被销毁,然后M

android - 从服务向 Activity 抛出自定义异常

我目前正在Android上开发XMPP应用程序,我正在考虑从我的服务中向我的Activity抛出与RemoteException不同类型的异常的最佳方法。因为使用IPC抛出RemoteException之外的东西似乎是不可能的(你不能在你的.aidl中声明抛出任何东西),我只看到两个解决方案:为我的Activity创建一个监听器以监听我的自定义XMPP异常,该异常实际上不会被抛出,而只是作为实现Parcelable协议(protocol)的普通对象发送。捕获我的XMPPException并抛出一个RemoteException(内容已用我的XMPPException更新)——但在那种情