Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从另一个包停止Android服务_Android_Bluetooth - Fatal编程技术网

从另一个包停止Android服务

从另一个包停止Android服务,android,bluetooth,Android,Bluetooth,在有人告诉我这是不可能做到的之前,我已经做了大量的研究,研究了为什么过程中不能相互干扰,以及在什么条件下这是可能的。我们的问题是,设备之间的蓝牙支持不一致,一些设备上的解决方案是停止现有的蓝牙服务,运行一个单独的应用程序(BlueFTP),然后该应用程序能够在释放的端口上侦听并管理OPP通信 android.permission.RESTART_程序包permission plusActivityManager.restartPackage()不起作用,因为它只是重新启动有问题的程序包 Pro

在有人告诉我这是不可能做到的之前,我已经做了大量的研究,研究了为什么过程中不能相互干扰,以及在什么条件下这是可能的。我们的问题是,设备之间的蓝牙支持不一致,一些设备上的解决方案是停止现有的蓝牙服务,运行一个单独的应用程序(BlueFTP),然后该应用程序能够在释放的端口上侦听并管理OPP通信

  • android.permission.RESTART_程序包
    permission plus
    ActivityManager.restartPackage()
    不起作用,因为它只是重新启动有问题的程序包
  • Process.killProcess
    由于明显的原因不起作用(请阅读API)
  • android.permission.KILL\u BACKGROUND\u进程
    permission plus
    ActivityManager.killbackgroundprocesss()
    被忽略,因为(我相信根据API)蓝牙应用程序不被视为后台应用程序,因此没有资格被杀死
当前,如果客户机与特定电话发生问题,我们会让他们转到正在运行的应用程序,并在刷新BlueFTP之前强制停止有问题的OPP服务,以便端口侦听器启动。根据手机和Android版本的不同,违规服务可能有多个名称

所以。该过程目前是手动的,但我希望可以通过代码镜像设置中的强制停止选项来实现这一点。一个更轻松的选择可能是帮助打开该服务的设置,而不需要向客户解释如何到达那里,但如果有完整的解决方案,我更喜欢。
请注意,虽然我们的开发人员手机具有root访问权限,但客户端手机不会。

您可以在其他应用程序中对您的服务使用隐式意图来关闭它们。它也不需要额外的权限,除非您的服务强制其访问权限


哦,我忽略了这是一个第三方应用的事实。在这种情况下,你真的做不了多少。对不起。

您查过aosp代码了吗?如何设置“强制停止”应用程序?你能做同样的事吗?他们有特权吗?