场景:现在写了两个应用AB:
A : 有一个Service:`com.test.MyService.class`
B :onClicke点击事件中调起A中的服务。
测试环境:魅族4,魅蓝3。
问题:
1)在A程序运行的情况下,B程序运行下,B点击去调起 MyService
服务,正常。
2)在A程序被杀死的情况下,即没有运行,B程序点击去调起服务,
不成功,没有任何的Log,Toast输出。
3)在A程序被杀死的情况下,即没有运行,用ADB命令去调起服务:
不成功,ADB输出,没有找到这个服务。
4)把这个程序A放在/system/app/下,让它成为一个系统的应用,
然后,在杀死程序的情况下,调起成功。
后续
公司的大神说,他能直接调起来,不用放在/system/app/下。
代码我查了好多次,我们两个的代码一样的。然后我注意到一点
我们的手机系统不同,他的是华为,我的是魅族。
有没有人跟我遇到一样的问题?求大神解释一下咯~
Meizu システムはアプリケーション層サービスの直接の起動をサポートしていないことが確認されています。
私は、あなたのサービスが新しいプロセス、つまりサービスプロセスに独立していることが最善であると感じています。サービスを存続させたり、再接続したりするためのメカニズムがいくつかあります。最も簡単な方法は、onStartCommand に値 START_REDELIVER_INTENT を返すことです。 Binder 接続が確立された場合、Binder にはいくつかの再接続メカニズムもあります。生き続けるためのその他の方法については、オンライン記事を読んでください。
がたくさんあります。これはウェイクアップを防ぐためにサードパーティ システムによって実行される操作であると推測します。ネイティブに呼び出すことができます。そうでない場合、このサービスは何に使用されますか?