Cordova 安卓故意不请自来

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

我的phonegap应用程序使用zxing条形码扫描仪。我从zxing安装了一个演示应用程序(条形码扫描仪)。现在,在我的phonegap应用程序中,当我调用条形码扫描器时,android会让我选择要执行此操作的应用程序(我的应用程序和zxing条形码扫描器)。如何避免这种情况?我不希望android像这样询问我的用户,如果你没有更改任何代码,默认情况下,Zxing注册时有以下意图

<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>