我正在开发一个应用程序来收集应用程序中的崩溃报告,因此我创建了一个扩展Application的类来处理未捕获的异常,并创建了用于与服务器通信的服务类。 我在按钮单击中做了一个简单的除零异常,它产生了异常但我的服务类没有被调用。我确定已在清单文件中注册了服务类。
我的问题是即使应用程序在Android中崩溃(强制关闭),Will Service概念仍然有效吗?
代码:
before_script:
- npm install
server_tests:
script: mocha
client_tests:
script: karma start karma.conf.js
服务类:
public class MyApp extends Application {
public void onCreate() {
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable e) {
handleUncaughtException(thread, e);
}
});
}
public void handleUncaughtException(Thread thread, Throwable e) {
e.printStackTrace();
Intent i = new Intent(MyApp.this, ServiceClass.class);
startService(i);
}
}
清单xml文件:
public class ServiceClass extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.e("onStartCommand", "onStartCommand called");
// server communication code.
return Service.START_STICKY;
}
}