1

以下は、Android アプリでペイパル オブジェクトを初期化するために使用したコードを示しています。実行時エラーは doInBackground() が原因なので、おそらく payPal.isLibraryInitialized() が返す false が原因だと思います。

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();
      }
    }
  };
4

2 に答える 2

2

このタイプのエラーは、jar ファイルを追加したが、正しく含まれていない場合に発生します。プロジェクトを右クリックしてから、プロパティ - Java ビルド パス - オーダーとエクスポートに移動します。jar の横にチェックボックスがあるかどうかを確認します。アプリをもう一度checked.runして、同じ問題が存在するかどうかを確認してください。

于 2012-07-27T10:04:04.933 に答える
1

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"/>
于 2012-08-06T14:29:58.217 に答える