So,that\'s the logcat information I get.The app still can run,but I want to know the reason why I get this error. I don\'t understand why i get this so i even don\'t know how to
Sorry to answer this old question,but i solved this exception in my project.
I think what leads to the exception is we are using the context of our activity when it is creating.
My code is something like:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
regToWx();
}
private void regToWx(){
IWXAPI api;
api = WXAPIFactory.createWXAPI(this, Constants.WX_APP_ID, true);
api.registerApp(Constants.WX_APP_ID);
String text = "123";
WXTextObject textObj = new WXTextObject();
textObj.text = text;
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = textObj;
msg.description = text;
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.scene = SendMessageToWX.Req.WXSceneSession;
req.transaction = String.valueOf(System.currentTimeMillis());
req.message = msg;
api.sendReq(req);
}
As the regToWx
method need to create something by this
which is the context,but i think the context can not be used(in some ways) inside onCreate
method. So I just put it in a thread and then the problem is solved.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Thread(new Runnable() {
@Override
public void run() {
regToWx();
}
}).start();
}
So try to find out what you have done with your context
in onCreate
method, put these code out of the it or just make the code asynchronous.