代码都贴出来
WXEntryActivity.java
package com.vivigames.scmj.wxapi;
import org.cocos2dx.lib.Cocos2dxJavascriptJavaBridge;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;
import com.tencent.mm.sdk.openapi.BaseReq;
import com.tencent.mm.sdk.openapi.BaseResp;
import com.tencent.mm.sdk.openapi.IWXAPI;
import com.tencent.mm.sdk.openapi.IWXAPIEventHandler;
import com.tencent.mm.sdk.openapi.SendAuth;
import com.tencent.mm.sdk.openapi.WXAPIFactory;
import com.vivigames.scmj.Constants;
import com.vivigames.scmj.WXAPI;
import com.tencent.mm.sdk.openapi.WXTextObject;
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
private IWXAPI _api;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.plugin_entry);
Log.d("WXEntryActivity", "onCreate");
_api = WXAPIFactory.createWXAPI(this, Constants.APP_ID, false);
//_api.registerApp(Constants.APP_ID);
_api.handleIntent(getIntent(), this);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
_api.handleIntent(intent, this);
}
@Override
public void onReq(BaseReq req) {
/*
switch (req.getType()) {
case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
//goToGetMsg();
break;
case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
//goToShowMsg((ShowMessageFromWX.Req) req);
break;
default:
break;
}
*/
this.finish();
}
@Override
public void onResp(BaseResp resp) {
int result = 0;
switch (resp.errCode) {
case BaseResp.ErrCode.ERR_OK:
if (WXAPI.isLogin) {
SendAuth.Resp authResp = (SendAuth.Resp) resp;
if (authResp != null && authResp.token != null) {
Cocos2dxJavascriptJavaBridge.evalString("cc.vv.anysdkMgr.onLoginResp('" + authResp.token + "')");
}
}
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
result = 2;//R.string.errcode_cancel;
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
result = 3;//R.string.errcode_deny;
break;
default:
result = 4;//R.string.errcode_unknown;
break;
}
this.finish();
//Toast.makeText(this, result, Toast.LENGTH_LONG).show();
}
}
WXAPI.java
package com.vivigames.scmj;
import android.app.Activity;
import android.content.Context;
import com.tencent.mm.sdk.openapi.IWXAPI;
import com.tencent.mm.sdk.openapi.SendAuth;
import com.tencent.mm.sdk.openapi.SendMessageToWX;
import com.tencent.mm.sdk.openapi.WXAPIFactory;
import com.tencent.mm.sdk.openapi.WXMediaMessage;
import com.tencent.mm.sdk.openapi.WXWebpageObject;
public class WXAPI {
public static IWXAPI api;
public static Activity instance;
public static boolean isLogin = false;
public static void Init(Activity context){
WXAPI.instance = context;
api = WXAPIFactory.createWXAPI(context, Constants.APP_ID, true);
api.registerApp(Constants.APP_ID);
}
private static String buildTransaction(final String type) {
return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis();
}
public static void Login(){
isLogin = true;
final SendAuth.Req req = new SendAuth.Req();
req.scope = "snsapi_userinfo";
req.state = "carjob_wx_login";
api.sendReq(req);
//instance.finish();
}
public static void Share(String url,String title,String desc){
try{
isLogin = false;
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = url;
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = title;
msg.description = desc;
//msg.thumbData = Util.bmpToByteArray(thumbBmp, true);
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("webpage");
req.message = msg;
req.scene = /*isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : */SendMessageToWX.Req.WXSceneSession;
api.sendReq(req);
//instance.finish();
}
catch(Exception e){
e.printStackTrace();
}
}
}
AndroidMainfest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.vivigames.scmj"
android:installLocation="auto">
<uses-feature android:glEsVersion="0x00020000" />
<application
android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher">
<!-- Tell Cocos2dxActivity the name of our .so -->
<meta-data android:name="android.app.lib_name"
android:value="cocos2djs" />
<activity
android:name="org.cocos2dx.javascript.AppActivity"
android:screenOrientation="sensorLandscape"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".wxapi.WXEntryActivity"
android:label="@string/app_name"
android:exported="true"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
</manifest>
点击按钮能够调用到Login方法,可是初始化的时候没有调用onCreate方法,新手一枚,求指教
J'ai changé le nom sous AndroidMainfest en org.cocos2dx.javascript.AppActivity
Déconnectez-vous et la méthode onCreate sous WXEntryActivity sera appelée
Mais je ne sais toujours pas comment le résoudre