Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android navigator.app.exitApp()在phonegap 3.1.0上崩溃_Android_Cordova - Fatal编程技术网

Android navigator.app.exitApp()在phonegap 3.1.0上崩溃

Android navigator.app.exitApp()在phonegap 3.1.0上崩溃,android,cordova,Android,Cordova,每次在我的应用程序中调用navigator.app.exitApp()时,应用程序都会崩溃。请在下面找到我得到的崩溃日志 01-09 13:20:24.556: E/AndroidRuntime(18767): FATAL EXCEPTION: main 01-09 13:20:24.556: E/AndroidRuntime(18767): java.lang.RuntimeException: Unable to destroy activity {com.pixatel.mat

每次在我的应用程序中调用navigator.app.exitApp()时,应用程序都会崩溃。请在下面找到我得到的崩溃日志

01-09 13:20:24.556: E/AndroidRuntime(18767): FATAL EXCEPTION: main
01-09 13:20:24.556: E/AndroidRuntime(18767): java.lang.RuntimeException: Unable to       destroy activity {com.pixatel.mathwhiz/com.pixatel.mathwhiz.MathWhiz}:   java.lang.IllegalArgumentException: Receiver not registered: null
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3294)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3312)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.app.ActivityThread.access$1200(ActivityThread.java:138)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1260)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.os.Looper.loop(Looper.java:213)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.app.ActivityThread.main(ActivityThread.java:4787)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at java.lang.reflect.Method.invokeNative(Native Method)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at java.lang.reflect.Method.invoke(Method.java:511)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at dalvik.system.NativeStart.main(Native Method)
01-09 13:20:24.556: E/AndroidRuntime(18767): Caused by: java.lang.IllegalArgumentException: Receiver not registered: null
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:654)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1165)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:378)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at org.apache.cordova.device.Device.onDestroy(Device.java:98)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at org.apache.cordova.PluginManager.onDestroy(PluginManager.java:326)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at org.apache.cordova.CordovaWebView.handleDestroy(CordovaWebView.java:833)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at org.apache.cordova.CordovaActivity.onDestroy(CordovaActivity.java:774)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.app.Activity.performDestroy(Activity.java:5172)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1109)
01-09 13:20:24.556: E/AndroidRuntime(18767):    at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3281)
下面的代码是我的主要活动文件:-

public class MathWhiz extends CordovaActivity 
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        // Set by <content src="index.html" /> in config.xml
        super.loadUrl(Config.getStartUrl());

        //super.loadUrl("file:///android_asset/www/index_android.html");

        try {
            String pName = this.getClass().getPackage().getName();
            this.copy("Databases.db", "/data/data/" + pName + "/app_database/");
            this.copy("0000000000000001.db", "/data/data/" + pName
                    + "/app_database/file__0/");
        } catch (IOException e) {
            e.printStackTrace();
        }

       // super.loadUrl("file:///android_asset/www/index_android.html",3000);
    }

    void copy(String file, String folder) throws IOException {

        File CheckDirectory;
        CheckDirectory = new File(folder);
        if (!CheckDirectory.exists()) {
            CheckDirectory.mkdir();
        }

        InputStream in = getApplicationContext().getAssets().open(file);
        OutputStream out = new FileOutputStream(folder + file);

        // Transfer bytes from in to out
        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0)
            out.write(buf, 0, len);
        in.close();
        out.close();
公共类MathWhiz扩展了CordovaActivity
{
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.init();
//在config.xml中设置
super.loadUrl(Config.getStartUrl());
//super.loadUrl(“file:///android_asset/www/index_android.html");
试一试{
字符串pName=this.getClass().getPackage().getName();
这个.copy(“Databases.db”,“/data/data/”+pName+“/app_database/”;
这个.copy(“000000000000000 1.db”,“/data/data/”+pName
+“/app\u database/file\u 0/”;
}捕获(IOE异常){
e、 printStackTrace();
}
//super.loadUrl(“file:///android_asset/www/index_android.html",3000);
}
无效副本(字符串文件、字符串文件夹)引发IOException{
文件检查目录;
CheckDirectory=新文件(文件夹);
如果(!CheckDirectory.exists()){
CheckDirectory.mkdir();
}
InputStream in=getApplicationContext().getAssets().open(文件);
OutputStream out=新文件OutputStream(文件夹+文件);
//将字节从输入传输到输出
字节[]buf=新字节[1024];
内伦;
而((len=in.read(buf))>0)
out.write(buf,0,len);
in.close();
out.close();
这个问题在phonegap版本2.9.0中没有出现。从3.1.0开始出现。
请让我知道与此相关的问题是什么。提前感谢。

根据设备插件注册接收器以侦听电话操作。因此,请确保您已在Android.Manifest.xml文件中添加了使电话工作所需的权限。

您在MathWiz活动中使用了任何接收器吗?如果是的话,那么我猜您正在MathWiz活动的onDestroy方法中注销空接收器引用。@AhmedIbrahim:您好,我也用我的主活动java文件更新了查询。您能检查一下并告诉我问题出在哪里吗?根据设备插件注册了接收器以监听电话操作。因此你确定你已经在Android.Manifest.xml文件中添加了使电话功能正常工作所需的权限吗?@AhmedIbrahim:非常感谢,我检查了我的“device.java”文件是否不完整。请将你的评论移至“Answers”所以我可以接受你的回答。再次感谢:)只需添加,正确的权限应该是
android.permission.READ\u PHONE\u STATE