2013-06-04 4 views
2

phonegap 용 WebIntent 플러그인을 방금 다운로드했지만 즉시 설정할 때 오류가 발생했습니다. WebIntent.java의 처음 몇 줄Phonegap 용 WebIntent 플러그인 : org.apache.cordova.api.Plugin 가져 오기를 찾을 수 없습니다.

import java.util.HashMap; 
import java.util.Map; 

import org.apache.cordova.DroidGap; 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

import android.content.Intent; 
import android.net.Uri; 
import android.util.Log; 
import android.text.Html; 

import org.apache.cordova.api.Plugin; 
import org.apache.cordova.api.PluginResult; 

... 

public class WebIntent extends Plugin { 

이클립스

org.apache.cordova.api.Plugin

은 몇 가지 조사 후, 나는 Phonegap 2.0가 원하는 것을 발견을 제외하고이 수입을 모두 인식하고 있습니다 플러그인을 확장하여 플러그인 클래스를 확장합니다. Phonegap 2.7은 플러그인이 대신 "CordovaPlugin"을 확장하려고합니다.

Phonegap github을 간략하게 살펴보면 "패키지"라는 클래스가 더 이상 해당 패키지에 존재하지 않는다는 것을 알 수 있습니다. 이것은 불과 몇 달 전에 WebIntent github이 업데이트되어 여전히 Plugin을 사용하고 있기 때문에 혼란 스럽습니다.

어디서나 파일에서 찾을 수있는 플러그인을 CordovaPlugin으로 변경해 보았습니다. 놀랍게도, 대부분의 오류는 무시되었습니다. 그러나, onNewIntent 방법은 여전히 ​​오류가 있습니다

@Override 
    public void onNewIntent(Intent intent) { 
     if (this.onNewIntentCallback != null) { 
      PluginResult result = new PluginResult(PluginResult.Status.OK, intent.getDataString()); 
      result.setKeepCallback(true); 
      this.success(result, this.onNewIntentCallback); 
     } 
    } 

"성공 (...)"을 CordovaPlugin의 기능이 아니며 유사 기능은 없습니다.

누구든지이 문제를 해결할 방법을 생각할 수 있습니까? 또는 내가 누락 된 정보가 있습니까? (WebIntent의 최신 버전이 환상적 일지 모르지만 한 가지를 찾지 못하는 것 같습니다.)

+0

세부 : 나는 폰갭 2.7와 협력 (게시물에 링크)를 WebIntent의 GitHub의에서 WebIntent를 다운로드하고 – NcAdams

답변

4

정확하게 동일한 문제가 발생했습니다.

여기에서 문제는 org.apache.cordova.api.plugin이 (가) phonegap-2.7.0에서 완전히 제거되었으며 org.apache.cordova.api.CordovaPlugin으로 대체되어야한다는 것입니다.

이렇게하는 방법에 대한 자세한 내용은 http://simonmacdonald.blogspot.fr/2013/06/why-dont-my-plugins-work-in-phonegap.html을 참조하십시오.

다음 안내를 따르고 WebIntent.java에 대한 대체 코드의 관련 부분을 https://github.com/phonegap/phonegap-plugins/issues/1047에 있습니다.

+0

phonegap-2.7.0을 사용하는 경우 webintent.js 파일이 있어야합니다. cordova.addConstructor (함수() {= window.webintent 새로운 WebIntent(); // 하위 호환성 window.plugins 용의 window.plugins || = {} = window.plugins.webintent window.webintent; }); }) (window.PhoneGap || window.Cordova || 창).코도 바); –

+0

또한 링크 당 WebIntent.java 파일을 비교하십시오 https://github.com/phonegap/phonegap-plugins/issues/1047 –

+0

"api"는 "org.apache.cordova"에 존재하지 않습니다. - Eric의 해결책 나를 위해 일했다. – Dunc

9

Phonegap 3.0으로 업그레이드 할 때와 동일한 문제가 발생하여 발견 된 솔루션이 플러그인을 CordovaPlugin으로 변경하는 것뿐만 아니라 import 문에서 "api"를 제거해야합니다.

이로 변경

import org.apache.cordova.api.Plugin; 
import org.apache.cordova.api.PluginResult; 

:

import org.apache.cordova.CordovaPlugin; 
import org.apache.cordova.PluginResult; 

응답 참조 : http://devgirl.org/2013/09/05/phonegap-3-0-stuff-you-should-know/