在android中将应用程序设置为默认值

时间:2014-06-19 11:45:41

标签: android android-intent

如何将我的应用设为默认值。就像我已经制作了一个包含QR码扫描仪功能的应用程序,我已经使用ZXing库项目进行QR码扫描。 它是工作文件,但是当我运行项目时,我会使用"" 完成操作。选项。当我点击我的应用程序扫描仪按钮时,它会打开设备摄像头,但在此之前它会询问选项。我希望我的应用程序是QR扫描程序的默认设置。意味着它不会使用选项显示完成操作。

那我该怎么做呢?

2 个答案:

答案 0 :(得分:0)

在Manifest中使用Intent过滤器来指定您的活动处理的操作,如下所示:

<activity class=".NoteEditor" android:label="@string/title_note">

         <intent-filter android:label="@string/resolve_edit">
             <action android:name="android.intent.action.VIEW" />
             <action android:name="android.intent.action.EDIT" />
             <category android:name="android.intent.category.DEFAULT" />
             <data android:mimeType="vnd.android.cursor.item/vnd.google.note" />
         </intent-filter>

         <intent-filter>
             <action android:name="android.intent.action.INSERT" />
             <category android:name="android.intent.category.DEFAULT" />
             <data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />
         </intent-filter>

     </activity>

例如,用于阅读QR码的动作名称可能是android.intent.readQR您在意图过滤器中指定此操作,告诉Android您的应用处理此操作。当你做得对,你的应用程序应该出现在该列表中。

看一下这个链接:

http://developer.android.com/reference/android/content/Intent.html

修改:选中此链接可将您的应用设置为默认值:

http://droidyue.com/blog/2014/01/12/set-the-preferred-application-in-android/

答案 1 :(得分:0)

如果您已经包含了ZXing应用项目(https://github.com/zxing/zxing/tree/master/android),而不仅仅是核心,您可以直接打开负责扫描的活动,如下所示:

Intent intent = new Intent(this,CaptureActivity.class);
intent.setAction(Intents.Scan.ACTION); 
//or intent.setAction("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE","QR_CODE_MODE"): // for only scanning qr codes
startActivityForResult(intent, 9000); // replace 9000 with some request code you defined

并在您的活动的onActivityResult中获得结果:

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK) {
        if(resultCode=9000){ // again, replace
            String result = data.getStringExtra("SCAN_RESULT");
            ...
        }
    }