android - 奇巧 : Service is null after exiting main activity

标签 android android-service

我有一个服务,我需要检查它是否仍在静态上下文中运行一段时间。 [我注意到这种情况只发生在 Android KitKat 上]

我做了什么:

我的服务:

public class Servizio extends Service {

   public static Service servizio;

   [...Other things...]

   @Override
   public void onCreate() {
   super.onCreate();
   servizio = this;
      scheduleMyAlarmToDoSomethingAfterSomeTime();

   }

[...Other things...]
}

然后我从 onCreate 中的主 Activity 启动该服务:

@Override
protected void onCreate(Bundle savedInstanceState) {
    [...]
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ServizioUtility.toggleService(this, true);
    [...]
}

然后我在一分钟后检查它是否为空(使用其警报由服务启动的警报接收器。请注意,接收器工作正常并且调用了以下代码):

if (Servizio.servizio!=null) {// FIXME
    [...]
    //THIS IS NOT CALLED IN THE 2ND SCENARIO
}

有两种情况:

  1. 我运行该 Activity ,等待警报启动,并且 Servizio.servizio 不为空。
  2. 我运行该 Activity ,使用enter image description here“杀死”它,等待警报接收器被调用,Servizio.servizio现在为空。请注意,另一方面,该服务仍在运行(从“设置”->“应用程序”->“运行”菜单检查)。

第二种情况发生了什么?

最佳答案

关于android - 奇巧 : Service is null after exiting main activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21073136/

相关文章:

android - 从 Android Activity 中拍照 "as a Service"

android - Mvvmcross:与安卓服务交互

android - 下载数据和更新 UI

android:如何获得从服务到 Activity 的回调?

Android - Gradle - 如何下载包含的 jar 的传递依赖项

android - Facebook Audience Network 无法解析

android - 编辑 MultiAutocompleteTextView 样式

Android:如何从远程服务中运行的线程中显示 toast ?

android - 无需用户交互即可卸载 Android 应用程序

android - 当从我的网络服务器在我的网络服务器中找到新版本但未安装时,我想更新我的 android 应用程序