点击OneSignal通知致App崩溃:ActivityNotFoundException问题排查
排查Android 12 + Capacitor 4下OneSignal通知点击崩溃(ActivityNotFoundException)的方案
核心排查步骤
尽管已添加android:exported="true",仍需逐一验证以下配置:
1. 确认主Activity的完整配置
检查AndroidManifest.xml中主Activity的intent-filter与exported属性,确保OneSignal能正确唤起该页面:
<activity android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" android:theme="@style/AppTheme.NoActionBarLaunch"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <!-- 补充OneSignal唤起所需的过滤规则 --> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!-- 若应用使用自定义URL Scheme,在此配置 --> <data android:scheme="your-app-scheme" /> </intent-filter> </activity>
2. 检查OneSignal通知的目标Activity
- 若通过OneSignal控制台配置通知,确认「Launch URL」或「Open App」选项指向的Activity名称正确
- 若通过代码构建通知,确保
setLaunchActivity方法指定的是.MainActivity或完整类路径
3. 验证所有带intent-filter的Activity导出属性
Capacitor 4要求Android 12下所有配置intent-filter的Activity必须显式设置android:exported,检查项目中其他相关Activity(如SplashScreenActivity):
<activity android:name="com.getcapacitor.plugins.splashscreen.SplashScreenActivity" android:exported="true" android:theme="@style/AppTheme.NoActionBarLaunch"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
若同时配置了启动页与主Activity的入口,需确保两者exported均为true,且通知触发的是正确的页面。
4. 定位堆栈跟踪中的缺失Activity
从提供的堆栈日志中,找到ActivityNotFoundException具体指向的Activity名称:
- 若为OneSignal内部Activity,需升级SDK至适配Android 12的最新稳定版
- 若为自定义Activity,确认其已在
AndroidManifest.xml中注册且exported属性正确
5. 清理构建缓存并重建项目
执行以下操作排除缓存问题:
- 运行
./gradlew clean清理Android项目 - 删除Android Studio的
.idea和build文件夹 - 重新同步Gradle并构建应用
6. 确认OneSignal SDK版本兼容性
确保使用的OneSignal SDK版本适配Capacitor 4与Android 12,建议升级到@onesignal/capacitor或onesignal-cordova-plugin的最新稳定版本,避免版本不兼容导致的Activity解析错误。
内容的提问来源于stack exchange,提问作者De Wet van As
相关产品推荐
相关产品推荐

