0
我在我的應用程序上使用webviewclient進行Auth登錄,如foursquare,但我的應用程序啓動時收到錯誤。當我的應用程序運行時WebViewClient崩潰
錯誤這樣表示:
E/qdutils﹕ FBIOGET_FSCREENINFO failed
A/libc﹕ Fatal signal 6 (SIGABRT) at 0x00003d60 (code=-6), thread 15712 (com.example.app)
這裏是我的代碼:
public class AuthWebClient extends WebViewClient {
private Context context;
private HDData hdData;
private HDDBHelper hddbHelper;
private String accessToken;
public AuthWebClient(Context ctx){
context = ctx;
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, String url){
String code;
webView.loadUrl(url);
hdData = new HDData(context, "");
if(url.startsWith(hdData.getCallbackUrl())){
String urls[] = url.split("=");
code = urls[1].toString();
ArrayList<NameValuePair> data = new ArrayList<NameValuePair>();
data.add(new BasicNameValuePair("ClientID", hdData.getClientId()));
data.add(new BasicNameValuePair("ClientSecret", hdData.getClientSecret()));
data.add(new BasicNameValuePair("Code", code));
data.add(new BasicNameValuePair("CallbackURL", hdData.getCallbackUrl()));
hddbHelper = new HDDBHelper(context);
AsyncTask<ArrayList<NameValuePair>, Integer, JSONObject> handler = new PostServiceHandler(hdData.getReqTokenUrl(), "", this.context) {
@Override
protected void onPostExecute(JSONObject result) {
try{
accessToken = result.getJSONObject("AccessToken").toString();
if(hddbHelper.isHDDataExists(hdData.getClientId())){
hdData.setAccessToken(accessToken);
hddbHelper.updateHDData(hdData);
}
else{
HDData hdIn = new HDData(context, accessToken);
hdIn.setClientId(hdData.getClientId());
hdIn.setClientSecret(hdData.getClientSecret());
hdIn.setAccessToken(accessToken);
hddbHelper.addHDData(hdIn);
}
}
catch (JSONException e){
e.printStackTrace();
}
}
}.execute(data);
}
return true;
}
有誰知道問題是什麼?我該如何解決它?
顯示你的logcat –