If you are going to use Bluetooth Scanner in your mobile application to scan barcodes then it will stop you from using the soft keyboard unless a keyboard wedge is provided by the scanner company. So the only way to use the keyboard is to switch off the bluetooth as the mobile device thinks that the scanner is as a bluetooth keyboard. The ablity to quickly switch off bluetooth and switch it back on is needed if you want to both scan barcodes as well as use the keyboard in your app.
Android Manifest
<?xml version="1.0" encoding="UTF-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.as400samplecode" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Application Layout - activity_main.xml
<?xml version="1.0" encoding="UTF-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dp"> <TextView android:id="@+id/status" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="10dp" android:text="BlueTooth is currently switched OFF" android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold" /> <Button android:id="@+id/changeStatus" style="?android:attr/buttonStyleSmall" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/status" android:layout_marginTop="10dp" android:text="Switch ON Bluetooth" android:textStyle="bold" /> </RelativeLayout>
Application Activity - MainActivity.java
package com.as400samplecode; import android.os.Bundle; import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener{ private BluetoothAdapter mBluetoothAdapter; private Button changeStatus; private TextView status; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //reference to the button changeStatus = (Button) findViewById(R.id.changeStatus); changeStatus.setOnClickListener(this); //reference to the text view status = (TextView) findViewById(R.id.status); //reference to the bluetooth adapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); //check if adatpter is available, please note if you running //this application in emulator currently there is no support for bluetooth if(mBluetoothAdapter == null){ status.setText("BlueTooth adapter not found"); changeStatus.setText("BlueTooth Disabled"); changeStatus.setEnabled(false); } //check the status and set the button text accordingly else { if (mBluetoothAdapter.isEnabled()) { status.setText("BlueTooth is currently switched ON"); changeStatus.setText("Switch OFF Bluetooth"); }else{ status.setText("BlueTooth is currently switched OFF"); changeStatus.setText("Switch ON Bluetooth"); } } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.changeStatus: //disable the bluetooth adapter if (mBluetoothAdapter.isEnabled()) { mBluetoothAdapter.disable(); status.setText("BlueTooth is currently switched OFF"); changeStatus.setText("Switch ON Bluetooth"); } //enable the bluetooth adapter else{ mBluetoothAdapter.enable(); status.setText("BlueTooth is currently switched ON"); changeStatus.setText("Switch OFF Bluetooth"); } break; // More buttons go here (if any) ... } } }
No comments:
Post a Comment
NO JUNK, Please try to keep this clean and related to the topic at hand.
Comments are for users to ask questions, collaborate or improve on existing.