无法在Android的Xamarin中使用PayPal SDK查找明确的活动类付款活动 [英] Unable to find explicit activity class Payment activity with PayPal SDK in Xamarin on Android

查看:53
本文介绍了无法在Android的Xamarin中使用PayPal SDK查找明确的活动类付款活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在xamarin上构建移动应用程序,并想在我们的支付系统中使用Paypal SDK.我在以下位置使用了Paypal SDK: https://github.com/paypal/PayPal-Android-SDK 要在Xamarin中使用它,我需要一个Java绑定.以前,我使用了在Xamarin论坛上找到的库(抱歉,不能添加2个以上的链接),因为它无法正常工作,我使用相同的错误进行了自己的Java绑定.

I am building a mobile app on xamarin and wanted to use the paypal sdk for our payment system. I took the paypal SDK at: https://github.com/paypal/PayPal-Android-SDK To use it in Xamarin I need a java binding. I previously used a library I found on Xamarin forum (sorry can't add more than 2 links) since it didn't worked I did my own java binding with the same error.

我正在关注本教程: https://github.com/paypal/PayPal-Android-SDK/blob/master/docs/single_payment.md

在OnClickMethod中,当我尝试启动付款"活动时,出现无法找到明确的类异常:

In the OnClickMethod, when I try to start the Payment activity I get "Unable to find explicit class exception:

Java.Lang.RuntimeException: Unable to find explicit activity class {BeamUp.BeamUp/com.paypal.android.sdk.payments.PaymentActivity}; have you declared this activity in your AndroidManifest.xml?   at at Android.Runtime.JNIEnv.CallNonvirtualVoidMethod (intptr,intptr,intptr,Android.Runtime.JValue[]) <IL 0x00085, 0x00300>  at at Android.App.Activity.StartActivityForResult (Android.Content.Intent,int) <IL 0x000cd, 0x00513>   at BeamUp.MainActivity.<OnCreate>b__0 (object,System.EventArgs) [0x0003e] in f:\Philippe Things\Travail\BeamUp\BeamUp\MainActivity.cs:79   at at Android.Views.View/IOnClickListenerImplementor.OnClick (Android.Views.View) <IL 0x00014, 0x000bb>   at at Android.Views.View/IOnClickListenerInvoker.n_OnClick_Landroid_view_View_ (intptr,intptr,intptr) <IL 0x00013, 0x000f3>   at at (wrapper dynamic-method) object.603476f6-1d1c-4bf4-bf20-03c66e4c1830 (intptr,intptr,intptr) <IL 0x00017, 0x00043>   at --- End of managed exception stack trace ---   at android.content.ActivityNotFoundException: Unable to find explicit activity class {BeamUp.BeamUp/com.paypal.android.sdk.payments.PaymentActivity}; have you declared this activity in your AndroidManifest.xml?   at at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628) at at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424) at at android.app.Activity.startActivityForResult(Activity.java:3424)  at at android.app.Activity.startActivityForResult(Activity.java:3385)  at at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:839) at at mono.android.view.View_OnClickListenerImplementor.n_onClick(Native Method)   at at mono.android.view.View_OnClickListenerImplementor.onClick(View_OnClickListenerImplementor.java:29) at at android.view.View.performClick(View.java:4438)   at at android.view.View$PerformClick.run(View.java:18422)   at at android.os.Handler.handleCallback(Handler.java:733)   at at android.os.Handler.dispatchMessage(Handler.java:95)   at at android.os.Looper.loop(Looper.java:136)   at at android.app.ActivityThread.main(ActivityThread.java:5001)   at at java.lang.reflect.Method.invokeNative(Native Method)   at at java.lang.reflect.Method.invoke(Method.java:515)   at at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) at at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)   at at dalvik.system.NativeStart.main(Native Method)

我的OnClick看起来像这样:

My OnClick look like this:

 Buy.Click += (sender, e) =>            {
                 PayPalPayment payment = new PayPalPayment(new Java.Math.BigDecimal("1.75"), "USD", "hipster jeans",
 PayPalPayment.PaymentIntentSale);

                Intent intent = new Intent(this, typeof(PaymentActivity));

                intent.PutExtra(PaymentActivity.ExtraPayment, payment);

                StartActivityForResult(intent, 0);          };

我的Android清单如下:

My Android Manifest look like this:

 <?xml version="1.0" encoding="utf-8"?> <manifest
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:versionCode="1" android:versionName="1.0" package="BeamUp">
    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="16" />
    <!-- Google Maps for Android v2 requires OpenGL ES v2 -->
<uses-permission
 android:name="android.permission.INTERNET" />  <uses-permission
 android:name="android.permission.ACCESS_NETWORK_STATE"/> <!-- for
 card.io card scanning -->  <uses-permission
 android:name="android.permission.CAMERA" />    <uses-permission
 android:name="android.permission.VIBRATE" />   <uses-permission
 android:name="android.permission.ACCESS_WIFI_STATE"/>
     <service android:name="com.paypal.android.sdk.payments.PayPalService"
         android:exported="false" />

    <activity
 android:name="com.paypal.android.sdk.payments.PaymentActivity" />
    <activity
 android:name="com.paypal.android.sdk.payments.LoginActivity" />
    <activity
 android:name="com.paypal.android.sdk.payments.PaymentMethodActivity"
 />     <activity
 android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity"
 />     <activity android:name="io.card.payment.CardIOActivity"
           android:configChanges="keyboardHidden|orientation" />    <activity android:name="io.card.payment.DataEntryActivity" />   

    <application android:label="@string/app_name"
 android:icon="@drawable/icon"
 android:theme="@android:style/Theme.NoTitleBar">       <activity
 android:name="com.facebook.LoginActivity"
 android:theme="@android:style/Theme.Translucent.NoTitleBar"
 android:label="@string/app_name" />
    </application>  <uses-sdk android:minSdkVersion="8" />  <meta-data
 android:name="com.facebook.sdk.ApplicationId"
 android:value="@string/app_id" /> </manifest>

推荐答案

活动和服务声明需要出现在<application>标记内.修复此问题,一切都会正常进行.

The activities and service declarations need to appear within the <application> tag. Fix that, and everything should work.

这篇关于无法在Android的Xamarin中使用PayPal SDK查找明确的活动类付款活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆