Ниже показан код, используемый для инициализации объекта paypal в приложении для Android. Ошибка выполнения приведена из doInBackground(), поэтому я думаю, что это, вероятно, связано с ложью, возвращаемой функцией payPal.isLibraryInitialized().
У вас, ребята, есть опыт интеграции в PayPal в Android-приложении?
private class PayPalInitializer extends AsyncTask<Void, Void, Boolean> {
private static final String APP_ID = "APP-80W284485P519543T";
private Context mContext;
private ProgressDialog mProgressDialog;
public PayPalInitializer(Context context) {
mContext = context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog = new ProgressDialog(mContext);
mProgressDialog.setMessage("...");
mProgressDialog.show();
}
@Override
protected Boolean doInBackground(Void... params) {
boolean success = false;
PayPal payPal = PayPal.getInstance();
if (payPal == null) {
payPal = PayPal.initWithAppID(mContext, APP_ID, PayPal.ENV_SANDBOX);
payPal.setFeesPayer(PayPal.FEEPAYER_EACHRECEIVER);
// Set to true if the transaction will require shipping.
payPal.setShippingEnabled(true);
if (payPal.isLibraryInitialized()) {
success = true;
}
}
return success;
}
@Override
protected void onPostExecute(Boolean result) {
super.onPostExecute(result);
mProgressDialog.hide();
mProgressDialog = null;
if (result) {
setupButton();
} else {
Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT).show();
}
}
};
Этот тип ошибки возникает, если вы добавили файл jar, но он не включен правильно. Правильно нажмите на свой проект, а затем перейдите к свойствам - путь сборки java - порядок и экспорт. Проверьте, установлен ли флажок рядом с банкой. checked.run ваше приложение снова и проверить, существует ли такая же проблема.
Возможно, вы забыли это разрешение на AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>