25
25
import android .os .Message ;
26
26
import android .util .Log ;
27
27
import android .view .SurfaceView ;
28
- import android .view .View ;
29
28
import android .widget .Button ;
30
29
import android .widget .Toast ;
31
30
32
31
import java .util .ArrayList ;
33
32
import java .util .Arrays ;
33
+ import java .util .HashMap ;
34
34
import java .util .List ;
35
35
36
36
37
37
public class MainActivity extends AppCompatActivity {
38
38
39
+ private static final String ACTION_USB_PERMISSION = "ACTION_USB_PERMISSION" ;
39
40
UsbManager mUsbManager ;
40
41
UsbDevice device ;
41
42
boolean usbConnected ;
@@ -75,13 +76,17 @@ public void handleMessage(Message msg) {
75
76
};
76
77
77
78
connectButton .setOnClickListener (vw -> {
78
- if (device == null ) {
79
+ if (checkMyDevice ()){
80
+
81
+ };
82
+
83
+ /*if(device == null) {
79
84
Log.d("DEVICE", "no device !");
80
85
Toast.makeText(getApplicationContext(), "no device !", Toast.LENGTH_SHORT).show();
81
86
}else{
82
87
Log.d("DEVICE", device.getDeviceName() + " " +device.getManufacturerName()+ " " +device.getProductName());
83
88
Toast.makeText(getApplicationContext(), device.getDeviceName() + " " +device.getManufacturerName()+ " " +device.getProductName(), Toast.LENGTH_SHORT).show();
84
- }
89
+ }*/
85
90
});
86
91
Log .d ("INITIALIZED" , "app running !" );
87
92
@@ -103,6 +108,30 @@ protected void displayFrame(SurfaceView v, Bitmap f, Rect zone){
103
108
}
104
109
}
105
110
111
+ private boolean checkMyDevice () {
112
+ HashMap <String , UsbDevice > deviceList = mUsbManager .getDeviceList ();
113
+ Log .d ("USB_SIZE" , ("usbdevice size=" + deviceList .size () + "" ));
114
+ if (deviceList .size () <= 0 ) {
115
+ device = null ;
116
+ Toast .makeText (getApplicationContext (), "no device !" , Toast .LENGTH_SHORT ).show ();
117
+
118
+ return false ;
119
+ }
120
+ for (UsbDevice d : deviceList .values ()) {
121
+ Log .d ("USB_DEVICE" ,"VID=" + d .getVendorId () + " PID=" + d .getProductId () + "" );
122
+ Toast .makeText (getApplicationContext (), d .getDeviceName () + " " +d .getManufacturerName ()+ " " +d .getProductName (), Toast .LENGTH_SHORT ).show ();
123
+
124
+ if (d .getVendorId () == 11427 && d .getProductId () == 31 ) {
125
+ device = d ;
126
+ if (mUsbManager .hasPermission (device )) {
127
+ return true ;
128
+ } else Log .d ("USB_PERM:" ,"No Permission" );
129
+ mUsbManager .requestPermission (d , PendingIntent .getBroadcast (getApplicationContext (), 0 , new Intent (ACTION_USB_PERMISSION ), 0 ));
130
+ }
131
+ }
132
+ return false ;
133
+ }
134
+
106
135
@ Override
107
136
protected void onCreate (Bundle savedInstanceState ) {
108
137
super .onCreate (savedInstanceState );
@@ -180,8 +209,6 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis
180
209
}
181
210
}
182
211
183
- private static final String ACTION_USB_PERMISSION =
184
- "com.android.example.USB_PERMISSION" ;
185
212
private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver () {
186
213
187
214
public void onReceive (Context context , Intent intent ) {
0 commit comments