Flutter集成CCAvenue支付网关遇ActivityNotFoundException问题求助
解决Flutter集成CCAvenue时的ActivityNotFoundException错误
问题原因
错误提示找不到com.avinash.gotluru.cc_avenue.Framework.WebViewActivity,核心原因是CCAvenue SDK依赖的这个WebView页面Activity未在AndroidManifest.xml中声明,导致系统无法找到并启动它。
解决步骤
在你的AndroidManifest.xml的<application>标签内部,添加以下Activity声明:
<activity android:name="com.avinash.gotluru.cc_avenue.Framework.WebViewActivity" android:exported="true" android:theme="@style/AppTheme.NoActionBar" />
如果你的项目没有AppTheme.NoActionBar主题,可替换为系统默认主题,比如:
android:theme="@android:style/Theme.Light.NoTitleBar"
修改后的完整AndroidManifest.xml示例
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="<app_id>"> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <application android:label="@string/app_name" android:name="${applicationName}" android:icon="@mipmap/ic_launcher" android:usesCleartextTraffic="true"> <activity android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize"> <meta-data android:name="io.flutter.embedding.android.NormalTheme" android:resource="@style/NormalTheme" /> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> <meta-data android:name="com.google.firebase.messaging.default_notification_channel_id" android:value="flutterpropertyfinderapp"/> </activity> <!-- 新增CCAvenue的WebViewActivity声明 --> <activity android:name="com.avinash.gotluru.cc_avenue.Framework.WebViewActivity" android:exported="true" android:theme="@style/AppTheme.NoActionBar" /> <meta-data android:name="flutterEmbedding" android:value="2" /> <meta-data android:name="com.google.android.geo.API_KEY" android:value="<api_key>" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <uses-library android:name="org.apache.http.legacy" android:required="false" /> </application> </manifest>
验证操作
添加完成后,重新编译运行项目,调用CCAvenue支付的代码即可正常启动支付页面,不会再抛出Activity未找到的错误。
内容的提问来源于stack exchange,提问作者Roshan gupta
相关产品推荐
相关产品推荐

