Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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
Java Cordova插件调用日志找不到符号_Java_Android_Cordova_Cordova Plugins - Fatal编程技术网

Java Cordova插件调用日志找不到符号

Java Cordova插件调用日志找不到符号,java,android,cordova,cordova-plugins,Java,Android,Cordova,Cordova Plugins,我正在尝试制作一个cordova插件,用于在Android中获取电话历史记录。 我遵循本教程学习插件的java代码: 我的java文件是: import org.apache.cordova.CordovaPlugin; import org.apache.cordova.CallbackContext; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import ja

我正在尝试制作一个cordova插件,用于在Android中获取电话历史记录。 我遵循本教程学习插件的java代码:

我的java文件是:

import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CallbackContext;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.Date;
import android.app.Activity; 
import android.database.Cursor; 
import android.os.Bundle; 
import android.provider.CallLog; 
import android.content.ContentResolver;
public class CallLogList extends CordovaPlugin {

@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
    if (action.equals("callLog")) {
        String message = args.getString(0);
        this.getCallDetails(message, callbackContext);
        return true;
    }
    return false;
}
private void getCallDetails(String message, CallbackContext callbackContext) {
    if (message != null && message.length() > 0) {

        StringBuffer sb = new StringBuffer(); 

        Cursor managedCursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, null, null, null); 
        managedCursor.close(); 
    }
    else {
        callbackContext.error("Expected one non-empty string argument.");
    }
}
}
我总是遇到以下错误:

[javac] Compiling 4 source files to /Users/xxx/Projects/cordova/platforms/android/ant-build/classes
[javac] /Users/xxx/Projects/cordova/platforms/android/src/it/prova/calllog/CallLogList.java:41: cannot find symbol
[javac] symbol  : method getContentResolver()
[javac] location: class it.prova.calllog.CallLogList
[javac]             Cursor managedCursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, null, null, null);
[javac]                                    ^
[javac] 1 error
我想我错过了一些导入,因为我在一个本地android应用程序中运行了相同的代码,并且它工作正常


谢谢

我找到了解决办法

我必须添加:
this.cordova.getActivity()
,以便创建新的游标

Cursor managedCursor = this.cordova.getActivity().getContentResolver().query(CallLog.Calls.CONTENT_URI, null, null, null, null);