PhoneGap中文网

标题: 关于CordovaPlugin自己写插件调用QQ登录功能 [打印本页]

作者: zhanghuayan    时间: 2015-9-1 16:54
标题: 关于CordovaPlugin自己写插件调用QQ登录功能
安卓已经实现了点击后跳转到QQ登录界面,但是无法获得返回的json信息。
CallbackContext都不会执行到,有人有研究过吗?
腾讯sdk:Android_SDK_V2.9.3
phonegap:phonegap-2.9.0
public class QqLogin extends CordovaPlugin{
    private static Tencent mTencent;
    private Context context;
    private Activity activity;
    private CallbackContext  mCallbackContext = null;
    public void initialize(CordovaInterface cordova, CordovaWebView webView) {  
        super.initialize(cordova, webView);
        activity=this.cordova.getActivity();
        context = this.cordova.getActivity().getApplicationContext();
        mTencent = Tencent.createInstance("我的key", context);
    }
    public boolean execute(String action, JSONArray args,CallbackContext callbackContext) throws JSONException
    {
        mCallbackContext=callbackContext;
        if (action.equals("login")) {
            String message = args.getString(0);
            this.login(message, callbackContext);
            return true;
        }
        return false;
    }
    private void login(String message, CallbackContext callbackContext) {
        this.cordova.getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                mTencent.login(activity, "all", prizeQueryUnexchangeListener);
            }
        });
    }
    private IUiListener prizeQueryUnexchangeListener = new IUiListener() {
        @Override
        public void onError(UiError e) {
            mCallbackContext.error(0);
        }
        @Override
        public void onCancel() {
            mCallbackContext.error(0);
        }
        @Override
        public void onComplete(Object response) {
            System.out.println("onComplete"+response.toString());
            mCallbackContext.success("123");
        }
    };
    @Override  
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        mTencent.onActivityResult(requestCode, resultCode, intent);
        super.onActivityResult(requestCode, resultCode, intent);  
        // 传递返回值 给js方法  
        mCallbackContext.success(1);  
    }
}
后台日志:
09-01 16:52:25.208: E/openSDK_LOG.UIListenerManager(9745): setListener action is null! rquestCode=11101
09-01 16:52:25.218: E/openSDK_LOG.APNUtil(9745): getApn has exception: No permission to write APN settings: Neither user 10324 nor current process has android.permission.WRITE_APN_SETTINGS.
报了这两条错,不懂为什么


作者: 你懂的    时间: 2015-9-1 21:47
http://bbs.phonegap100.com/thread-1496-1-1.html  这个帖子下面有别人写好的你参考一下
作者: zhanghuayan    时间: 2015-9-2 16:50
已经解决了,发现是腾讯官方jar包的问题,我原来用的是最新的v2.9.3的,一直不行,一直报设计监听器为空,结果换了一个别人写好的,放在github上的包就没问题了
作者: zhanghuayan    时间: 2015-9-2 16:50
测试一把 发表于 2015-9-1 21:47
http://bbs.phonegap100.com/thread-1496-1-1.html  这个帖子下面有别人写好的你参考一下


已经解决了,发现是腾讯官方jar包的问题,我原来用的是最新的v2.9.3的,一直不行,一直报设计监听器为空,结果换了一个别人写好的,放在github上的包就没问题了
作者: pulind    时间: 2015-9-8 01:09
我正在学习,一个问题一直困扰,jar包该如何在插件中使用?
作者: dhunter22    时间: 2015-9-22 15:36
zhanghuayan 发表于 2015-9-2 16:50
已经解决了,发现是腾讯官方jar包的问题,我原来用的是最新的v2.9.3的,一直不行,一直报设计监听器为空, ...

求一个写好的可以使用的qq分享插件。




欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/) Powered by Discuz! X3.2