찾다

 >  Q&A  >  본문

android - 关于startService的一个神奇的问题

  1. 场景:现在写了两个应用AB:

    A : 有一个Service:`com.test.MyService.class`
    B :onClicke点击事件中调起A中的服务。
    测试环境:魅族4,魅蓝3。
    
  2. 问题:

    1)在A程序运行的情况下,B程序运行下,B点击去调起 MyService
    服务,正常。
    
    2)在A程序被杀死的情况下,即没有运行,B程序点击去调起服务,
    不成功,没有任何的Log,Toast输出。
    
    3)在A程序被杀死的情况下,即没有运行,用ADB命令去调起服务:
    不成功,ADB输出,没有找到这个服务。
    
    4)把这个程序A放在/system/app/下,让它成为一个系统的应用,
    然后,在杀死程序的情况下,调起成功。
    
  3. 后续

    公司的大神说,他能直接调起来,不用放在/system/app/下。
    代码我查了好多次,我们两个的代码一样的。然后我注意到一点
    我们的手机系统不同,他的是华为,我的是魅族。
    
    有没有人跟我遇到一样的问题?求大神解释一下咯~
    
PHPzPHPz2771일 전582

모든 응답(3)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-04-18 09:15:36

    확인 후 Meizu 시스템은 애플리케이션 계층 서비스의 직접적인 깨우기를 지원하지 않습니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 09:15:36

    저는 귀하의 서비스가 새로운 프로세스, 즉 서비스 프로세스에서 독립적인 것이 가장 좋다고 생각합니다. 서비스를 활성 상태로 유지하거나 다시 연결하기 위한 몇 가지 메커니즘이 있습니다. 가장 간단한 방법은 onStartCommand가 START_REDELIVER_INTENT 값을 반환하도록 하는 것입니다. 바인더 연결이 설정된 경우 바인더에는 몇 가지 재연결 메커니즘도 있습니다. 살아남는 방법을 더 알아보려면 온라인 기사를 읽어보세요.

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:15:36

    Wake-up을 방지하기 위해 타사 시스템에서 수행하는 작업인 것으로 추측됩니다. 그렇지 않으면 서비스의 용도는 무엇입니까?

    회신하다
    0
  • 취소회신하다