使用条形码插件后应用程序崩溃
App crashes after some usage of the barcode plugin
我将此插件添加到我的 cordova/phonegap 项目中:phonegap-plugin-barcodescanner
。
有时它可以工作,但在尝试一些之后它开始使应用程序崩溃。
我用 logcat 得到了错误,这就是我发现的:
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.my.app/com.google.zxing.client.android.CaptureActivity}; have you declared this activity in your AndroidManifest.xml?
我尝试使用以下方法将此 activity 添加到我的 config.xml:
<activity android:configChanges="orientation|keyboardHidden" android:name="com.google.zxing.client.android.CaptureActivity" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
但更糟糕的是,应用程序在启动后崩溃。
有什么想法吗?
我发现了问题...
这个包 plugin.xml 有时不把这些标签放在 Manifest.xml:
<activity android:clearTaskOnLaunch="true" android:configChanges="orientation|keyboardHidden|screenSize" android:exported="false" android:name="com.google.zxing.client.android.CaptureActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden" />
<activity android:label="Share" android:name="com.google.zxing.client.android.encode.EncodeActivity" />
这就是为什么一些用户删除 android 平台并再次添加并声称“问题已解决”的原因 - 在一些“android 运行”或“[=25=”之后] prepare”命令,错误又出现了。
我做了一个解决方法,在我的 config.xml 上放置了命令:
<custom-config-file parent="./application" target="AndroidManifest.xml">
<activity android:label="Share" android:name="com.google.zxing.client.android.encode.EncodeActivity" />
<activity android:clearTaskOnLaunch="true" android:configChanges="orientation|keyboardHidden|screenSize" android:exported="false" android:name="com.google.zxing.client.android.CaptureActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden" />
</custom-config-file>
此标签使用此包在 AndroidManifest.xml 的应用程序标签上添加缺少的活动:https://github.com/dpa99c/cordova-custom-config
我将此插件添加到我的 cordova/phonegap 项目中:phonegap-plugin-barcodescanner
。
有时它可以工作,但在尝试一些之后它开始使应用程序崩溃。
我用 logcat 得到了错误,这就是我发现的:
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.my.app/com.google.zxing.client.android.CaptureActivity}; have you declared this activity in your AndroidManifest.xml?
我尝试使用以下方法将此 activity 添加到我的 config.xml:
<activity android:configChanges="orientation|keyboardHidden" android:name="com.google.zxing.client.android.CaptureActivity" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
但更糟糕的是,应用程序在启动后崩溃。
有什么想法吗?
我发现了问题... 这个包 plugin.xml 有时不把这些标签放在 Manifest.xml:
<activity android:clearTaskOnLaunch="true" android:configChanges="orientation|keyboardHidden|screenSize" android:exported="false" android:name="com.google.zxing.client.android.CaptureActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden" />
<activity android:label="Share" android:name="com.google.zxing.client.android.encode.EncodeActivity" />
这就是为什么一些用户删除 android 平台并再次添加并声称“问题已解决”的原因 - 在一些“android 运行”或“[=25=”之后] prepare”命令,错误又出现了。
我做了一个解决方法,在我的 config.xml 上放置了命令:
<custom-config-file parent="./application" target="AndroidManifest.xml">
<activity android:label="Share" android:name="com.google.zxing.client.android.encode.EncodeActivity" />
<activity android:clearTaskOnLaunch="true" android:configChanges="orientation|keyboardHidden|screenSize" android:exported="false" android:name="com.google.zxing.client.android.CaptureActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden" />
</custom-config-file>
此标签使用此包在 AndroidManifest.xml 的应用程序标签上添加缺少的活动:https://github.com/dpa99c/cordova-custom-config