Посмотрите руководство на стр. 52-61, все объяснено, мне пришлось реализовать его с помощью ET55, но, похоже, тот же процесс.
Я лично сделал это, используя опцию Intent output с намерением, доставленным через широковещательную рассылку.
Сначала вы можете открыть приложение DataWedge (приложение должно быть предварительно установлено, именно здесь вы настраиваете параметры сканера)
- Вы создаете профиль для своего приложения
- Вы нажимаете на профиль и проверяете
Profile enabled option
- Вы включаете ввод штрих-кода и выход по назначению, отключаете нажатие клавиш и ip-вывод
- Вы связываете свое приложение (опция
Associated apps
)
- (см. Стр. 75-76 руководства). Вы задаете намерение с помощью чего-то вроде
datawedge.yourapp.SCANNER_RESULT
- Вы оставили категорию пустой
- Вы установили намеренную доставку на
Broadcast Intent
- В остальном опция по умолчанию должна быть в порядке
Затем в вашем приложении необходимо зарегистрировать приемник вещания (в onCreate()
):
//first you implement the action to be executed when it receives the broadcast
receiverZebra = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String scanResult = intent.getStringExtra("com.symbol.datawedge.data_string");
/*
do things with the barcode here
*/
}
};
//then make a filter for the broadcast
filterZebra = new IntentFilter();
filterZebra.addCategory(Intent.CATEGORY_DEFAULT);
//the action you set in step 5 in datawedge
filterZebra.addAction("datawedge.yourapp.SCANNER_RESULT");
Затем в методах onStart
и onStop
вы можете зарегистрировать / отменить регистрацию вашего вещательного приемника
@Override
protected void onStart(){
super.onStart();
registerReceiver(receiverZebra, filterZebra);
}
@Override
protected void onStop()
{
super.onStop();
unregisterReceiver(receiverZebra);
}
Есть и другие способы его реализации, не было бы другого варианта, кроме вывода Intent, если бы его не было, но он отлично работает для меня. Я не думаю, что между TC20 и ET55 есть большая разница, поэтому он должен работать и для вас
После того, как вопрос отредактирован
Взято из этого урока
В приложении для настройки вашей кнопки вы должны иметь возможность связать название намеренного действия с кнопкой Bluetooth. Чтобы получить его, вы должны установить фильтр намерений в манифесте приложения:
<activity
android:name="com.example.myapplication.activitytolaunch"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.example.myapplication.ACTIVITY_TO_LAUNCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
И ваша кнопка должна будет запустить намерение: "com.example.myapplication.ACTIVITY_TO_LAUNCH"
Если вы хотите запустить упражнение напрямую, вы можете использовать вторую часть ответа. Если вам нужно обрабатывать штрих-коды при открытии вашего приложения (то есть добавлять штрих-коды в список), если вы можете сказать кнопке передать намерение, вы можете использовать первую часть.