我需要在Cordova插件类中强制安装Android应用程序。
问题是插件类在一个单独的Thread中运行,所以即使我强制RuntimeException()
,它也只会崩溃分离的线程。
答案 0 :(得分:0)
您的插件代码应该做的是在Rahits answer上定义的未处理异常上定义处理程序。想法是附加到这样的事件(从链接的答案借来的代码)
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread paramThread, Throwable paramThrowable) {
Log.e("Error"+Thread.currentThread().getStackTrace()[2],paramThrowable.getLocalizedMessage());
}
});
然后在调用回调时,抛出导致所需效果的真实异常。
答案 1 :(得分:0)
如果您想从cordova插件中崩溃应用程序/或在Android应用程序中按菜单按钮,您必须在how to make my phonegap android app crash?中提到的cordova项目中编辑几个类。
通过从Javascript调用某些本机函数来崩溃:
为Phonegap编写Android原生插件。有关插件创建,请参阅http://docs.phonegap.com/en/3.0.0/guide_platforms_android_plugin.md.html#Android%20Plugins。在execute方法中抛出异常。这将在父层中处理(这就是为什么你可以在控制台中看到崩溃的日志),所以请做以下更改以使应用程序崩溃。(这两个类都属于org.apache.cordova包)
通过此更改,我可以通过javascript调用使应用程序崩溃。