Cordova 安卓故意不请自来
我的phonegap应用程序使用zxing条形码扫描仪。我从zxing安装了一个演示应用程序(条形码扫描仪)。现在,在我的phonegap应用程序中,当我调用条形码扫描器时,android会让我选择要执行此操作的应用程序(我的应用程序和zxing条形码扫描器)。如何避免这种情况?我不希望android像这样询问我的用户,如果你没有更改任何代码,默认情况下,Zxing注册时有以下意图Cordova 安卓故意不请自来,cordova,android-intent,zxing,barcode-scanner,Cordova,Android Intent,Zxing,Barcode Scanner,我的phonegap应用程序使用zxing条形码扫描仪。我从zxing安装了一个演示应用程序(条形码扫描仪)。现在,在我的phonegap应用程序中,当我调用条形码扫描器时,android会让我选择要执行此操作的应用程序(我的应用程序和zxing条形码扫描器)。如何避免这种情况?我不希望android像这样询问我的用户,如果你没有更改任何代码,默认情况下,Zxing注册时有以下意图 <action android:name="com.phonegap.plugins.barcodescan
<action android:name="com.phonegap.plugins.barcodescanner.SCAN" />
在您的应用程序AndroidManifest.xml文件中,将意向过滤器字符串更改为上面BarcodeScanner.java文件中使用的自定义字符串
<activity android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="com.dhaval.phonegap.plugins.barcodescanner.SCAN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name="com.google.zxing.client.android.encode.EncodeActivity"
android:label="@string/share_name">
<intent-filter>
<action android:name="com.dhaval.phonegap.plugins.barcodescanner.ENCODE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
您可以在发送的Intent
上调用setPackage()。在这里,您可以设置为“com.google.zxing.client.android”
,对于遇到与我相同问题的任何人-还有一个地方需要重命名intent-在Library项目中,转到src/com/google/zxing/client/android/Intents.java查找“public static final String ACTION”,并将其更改为新的intent名称。
<activity android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="com.dhaval.phonegap.plugins.barcodescanner.SCAN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name="com.google.zxing.client.android.encode.EncodeActivity"
android:label="@string/share_name">
<intent-filter>
<action android:name="com.dhaval.phonegap.plugins.barcodescanner.ENCODE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>