如何杀死我的应用程序时发送消息(android)

时间:2016-12-07 12:09:30

标签: android java-native-interface kill

在正常情况下,如果应用程序被杀,我无法做任何事情。但我有一个要求是,当我的应用程序被杀时,我需要告诉服务器应用程序死了。但是当我主动杀死我的应用程序或我的应用程序是由系统回收,我不能做任何事情,我不知道如何告诉服务器应用程序被杀。我知道是打电话给jni,但我不知道如何写jni代码。有谁知道吗?

1 个答案:

答案 0 :(得分:0)

尝试使用守护程序。在这种情况下,您可以将您的java进程转换为守护进程并完成主进程。

看看这里:

https://github.com/mkowsiak/jnicookbook/tree/master/recipeNo022

通常,您希望妖魔化您的原生代码。

...
...
int demonize() {
  int pid = fork();
  switch ( pid ) {
    case -1:
      return (-1);
    case 0:
      break;
    default:
      return pid;
  }
  return 0;
}
...
...
int pid = demonize();

if( pid == 0 ) {
  while(1) {
    sleep(1);
    fprintf(fid, "daemon\n");
    fflush( fid );
  }
}