ScanerApi.java 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586
  1. package com.action.actionscaner;
  2. import android.content.ContentResolver;
  3. import android.content.Context;
  4. import android.net.Uri;
  5. import android.os.Bundle;
  6. import sto.android.os.SystemProperties;
  7. import android.text.TextUtils;
  8. import android.util.Log;
  9. public class ScanerApi {
  10. private static final String TAG = "ActScaner";
  11. private Context mContext;
  12. private ContentResolver resolver = null;
  13. private static final Uri ACTION_SCAN_URI = Uri.parse("content://com.action.actionscaner.scanerprovider");
  14. private static final Uri ACTION_SCAN_URI_ZEBRA = Uri.parse("content://com.action.zebrascaner.zebrascanerprovider");
  15. private static final String IS_ENABLE_SCANER = "is_enable_scaner";
  16. private static final String SET_ENABLE_SCANER = "set_enable_scaner";
  17. private static final String IS_VIBRATOR = "is_vibrator";
  18. private static final String SET_VIBRATOR = "set_vibrator";
  19. private static final String GET_PLAY_SOUND = "get_play_sound";
  20. private static final String IS_PLAY_SOUND = "is_play_sound";
  21. private static final String SET_PLAY_SOUND = "set_play_sound";
  22. private static final String GET_SCAN_DATA_OUTPUT = "get_scan_data_output";
  23. private static final String SET_SCAN_DATA_OUTPUT = "set_scan_data_output";
  24. private static final String IS_AUTO_INPUT = "is_auto_input";
  25. private static final String SET_AUTO_INPUT = "set_auto_input";
  26. private static final String IS_AUTO_JUMP = "is_auto_jump";
  27. private static final String SET_AUTO_JUMP = "set_auto_jump";
  28. private static final String IS_UNINTERRUPTED = "is_uninterrupted";
  29. private static final String SET_UNINTERRUPTED = "set_uninterrupted";
  30. private static final String SET_UNINTERRUPTED_TIME = "set_uninterrupted_time";
  31. private static final String GET_LIGHTS_MODE = "get_lights_mode";
  32. private static final String SET_LIGHTS_MODE = "set_lights_mode";
  33. private static final String GET_SCANER_PARAMETER = "get_scaner_parameter";
  34. private static final String SET_SCANER_PARAMETER = "set_scaner_parameter";
  35. private static final String GET_SCANER_ALL_PARAMETER = "get_scaner_all_parameter";
  36. private static final String SET_SCANER_ALL_PARAMETER = "set_scaner_all_parameter";
  37. private static final String IS_BOOL = "is_bool";
  38. private static final String CUSTOM_VALUE_KEY = "custom-value-key";
  39. private static final String GET_SCANER_INFO = "get_scaner_info";
  40. private static final String SCANER_ABOUT = "scaner_about";
  41. private static final String CUSTOM_SCAN = "custom_scan";
  42. private static final String CUSTOM_STOP_LONGLIGHT = "custom_stop_longlight";
  43. private String scannerType = null;
  44. public ScanerApi(Context context) {
  45. this.mContext = context;
  46. resolver = mContext.getContentResolver();
  47. scannerType = SystemProperties.get("persist.camera.scanner.vendor", "hsm");
  48. if(scannerType.equals("")||scannerType == null){
  49. scannerType = "hsm";
  50. }
  51. Log.e(TAG,"scannerType = "+scannerType);
  52. }
  53. public boolean isEnableScaner() {
  54. boolean isEnable = false;
  55. if (resolver == null)
  56. resolver = mContext.getContentResolver();
  57. Bundle extras = new Bundle();
  58. switch(scannerType) {
  59. case "zebra":
  60. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  61. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, IS_ENABLE_SCANER, null, extras);
  62. if (extras != null)
  63. isEnable = extras.getBoolean(IS_ENABLE_SCANER, false);
  64. } else {
  65. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  66. }
  67. break;
  68. case "hsm":
  69. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  70. extras = resolver.call(ACTION_SCAN_URI, IS_ENABLE_SCANER, null, extras);
  71. if (extras != null)
  72. isEnable = extras.getBoolean(IS_ENABLE_SCANER, false);
  73. } else {
  74. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  75. }
  76. break;
  77. }
  78. return isEnable;
  79. }
  80. public void setEnableScaner(boolean enabled) {
  81. if (resolver == null)
  82. resolver = mContext.getContentResolver();
  83. Bundle extras = new Bundle();
  84. switch(scannerType) {
  85. case "zebra":
  86. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  87. extras.putBoolean(SET_ENABLE_SCANER, enabled);
  88. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, SET_ENABLE_SCANER, null, extras);
  89. } else {
  90. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  91. }
  92. break;
  93. case "hsm":
  94. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  95. extras.putBoolean(SET_ENABLE_SCANER, enabled);
  96. extras = resolver.call(ACTION_SCAN_URI, SET_ENABLE_SCANER, null, extras);
  97. } else {
  98. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  99. }
  100. break;
  101. }
  102. }
  103. public boolean isVibrator() {
  104. boolean isvibrator = false;
  105. if (resolver == null)
  106. resolver = mContext.getContentResolver();
  107. Bundle extras = new Bundle();
  108. switch(scannerType) {
  109. case "zebra":
  110. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  111. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, IS_VIBRATOR, null, extras);
  112. if (extras != null)
  113. isvibrator = extras.getBoolean(IS_VIBRATOR, false);
  114. } else {
  115. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  116. }
  117. break;
  118. case "hsm":
  119. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  120. extras = resolver.call(ACTION_SCAN_URI, IS_VIBRATOR, null, extras);
  121. if (extras != null)
  122. isvibrator = extras.getBoolean(IS_VIBRATOR, false);
  123. } else {
  124. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  125. }
  126. break;
  127. }
  128. return isvibrator;
  129. }
  130. public void setVibrator(boolean vibrator) {
  131. if (resolver == null)
  132. resolver = mContext.getContentResolver();
  133. Bundle extras = new Bundle();
  134. switch(scannerType) {
  135. case "zebra":
  136. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  137. extras.putBoolean(SET_VIBRATOR, vibrator);
  138. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, SET_VIBRATOR, null, extras);
  139. } else {
  140. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  141. }
  142. break;
  143. case "hsm":
  144. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  145. extras.putBoolean(SET_VIBRATOR, vibrator);
  146. extras = resolver.call(ACTION_SCAN_URI, SET_VIBRATOR, null, extras);
  147. } else {
  148. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  149. }
  150. break;
  151. }
  152. }
  153. public boolean isPlaySound() {
  154. boolean isSound = false;
  155. if (resolver == null)
  156. resolver = mContext.getContentResolver();
  157. Bundle extras = new Bundle();
  158. switch(scannerType) {
  159. case "zebra":
  160. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  161. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, GET_PLAY_SOUND, null, extras);
  162. if (extras != null) {
  163. int soundsMode = 0;
  164. if(extras.getInt(GET_PLAY_SOUND, 0)==0) {
  165. isSound = false;
  166. } else {
  167. isSound = true;
  168. }
  169. }
  170. } else {
  171. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  172. }
  173. break;
  174. case "hsm":
  175. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  176. extras = resolver.call(ACTION_SCAN_URI, IS_PLAY_SOUND, null, extras);
  177. if (extras != null)
  178. isSound = extras.getBoolean(IS_PLAY_SOUND, false);
  179. } else {
  180. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  181. }
  182. break;
  183. }
  184. return isSound;
  185. }
  186. public void setPlaySound(boolean isSound) {
  187. if (resolver == null)
  188. resolver = mContext.getContentResolver();
  189. Bundle extras = new Bundle();
  190. switch(scannerType) {
  191. case "zebra":
  192. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  193. if (isSound) {
  194. extras.putInt(SET_PLAY_SOUND, 2);
  195. } else {
  196. extras.putInt(SET_PLAY_SOUND, 0);
  197. }
  198. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, SET_PLAY_SOUND, null, extras);
  199. } else {
  200. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  201. }
  202. break;
  203. case "hsm":
  204. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  205. extras.putBoolean(SET_PLAY_SOUND, isSound);
  206. extras = resolver.call(ACTION_SCAN_URI, SET_PLAY_SOUND, null, extras);
  207. } else {
  208. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  209. }
  210. break;
  211. }
  212. }
  213. public boolean isAutoInput() {
  214. boolean autoInput = false;
  215. if (resolver == null)
  216. resolver = mContext.getContentResolver();
  217. Bundle extras = new Bundle();
  218. switch(scannerType) {
  219. case "zebra":
  220. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  221. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, GET_SCAN_DATA_OUTPUT, null, extras);
  222. if (extras != null) {
  223. int outPutType = 0;
  224. if(extras.getInt(GET_SCAN_DATA_OUTPUT, 0)==0) {
  225. autoInput = true;
  226. } else {
  227. autoInput = false;
  228. }
  229. }
  230. } else {
  231. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  232. }
  233. break;
  234. case "hsm":
  235. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  236. extras = resolver.call(ACTION_SCAN_URI, IS_AUTO_INPUT, null, extras);
  237. if (extras != null)
  238. autoInput = extras.getBoolean(IS_AUTO_INPUT, false);
  239. } else {
  240. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  241. }
  242. break;
  243. }
  244. return autoInput;
  245. }
  246. public void setAutoInput(boolean autoInput) {
  247. if (resolver == null)
  248. resolver = mContext.getContentResolver();
  249. Bundle extras = new Bundle();
  250. switch(scannerType) {
  251. case "zebra":
  252. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  253. if (autoInput) {
  254. extras.putInt(SET_SCAN_DATA_OUTPUT, 0);
  255. } else {
  256. extras.putInt(SET_SCAN_DATA_OUTPUT, 3);
  257. }
  258. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, SET_SCAN_DATA_OUTPUT, null, extras);
  259. } else {
  260. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  261. }
  262. break;
  263. case "hsm":
  264. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  265. extras.putBoolean(SET_AUTO_INPUT, autoInput);
  266. extras = resolver.call(ACTION_SCAN_URI, SET_AUTO_INPUT, null, extras);
  267. } else {
  268. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  269. }
  270. break;
  271. }
  272. }
  273. public boolean isAutoJump() {
  274. boolean autoJump = false;
  275. if (resolver == null)
  276. resolver = mContext.getContentResolver();
  277. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  278. Log.d(TAG, "find provider " + ACTION_SCAN_URI);
  279. Bundle extras = new Bundle();
  280. extras = resolver.call(ACTION_SCAN_URI, IS_AUTO_JUMP, null, extras);
  281. autoJump = extras.getBoolean(IS_AUTO_JUMP, false);
  282. } else {
  283. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  284. }
  285. return autoJump;
  286. }
  287. public void setAutoJump(boolean autoJump) {
  288. if (resolver == null)
  289. resolver = mContext.getContentResolver();
  290. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  291. Log.d(TAG, "find provider " + ACTION_SCAN_URI);
  292. Bundle extras = new Bundle();
  293. extras.putBoolean(SET_AUTO_JUMP, autoJump);
  294. extras = resolver.call(ACTION_SCAN_URI, SET_AUTO_JUMP, null, extras);
  295. } else {
  296. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  297. }
  298. }
  299. public boolean isUninterrupted() {
  300. boolean is_uninterrupted = false;
  301. if (resolver == null)
  302. resolver = mContext.getContentResolver();
  303. Bundle extras = new Bundle();
  304. switch(scannerType) {
  305. case "zebra":
  306. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  307. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, IS_UNINTERRUPTED, null, extras);
  308. if (extras != null)
  309. is_uninterrupted = extras.getBoolean(IS_UNINTERRUPTED, false);
  310. } else {
  311. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  312. }
  313. break;
  314. case "hsm":
  315. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  316. extras = resolver.call(ACTION_SCAN_URI, IS_UNINTERRUPTED, null, extras);
  317. if (extras != null)
  318. is_uninterrupted = extras.getBoolean(IS_UNINTERRUPTED, false);
  319. } else {
  320. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  321. }
  322. break;
  323. }
  324. return is_uninterrupted;
  325. }
  326. public void setUninterrupted(boolean uninterrupted) {
  327. if (resolver == null)
  328. resolver = mContext.getContentResolver();
  329. Bundle extras = new Bundle();
  330. switch(scannerType) {
  331. case "zebra":
  332. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  333. extras.putBoolean(SET_UNINTERRUPTED, uninterrupted);
  334. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, SET_UNINTERRUPTED, null, extras);
  335. } else {
  336. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  337. }
  338. break;
  339. case "hsm":
  340. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  341. extras.putBoolean(SET_UNINTERRUPTED, uninterrupted);
  342. extras = resolver.call(ACTION_SCAN_URI, SET_UNINTERRUPTED, null, extras);
  343. } else {
  344. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  345. }
  346. break;
  347. }
  348. }
  349. public void setUninterruptedTime(int uninterruptedTime) {
  350. if (resolver == null)
  351. resolver = mContext.getContentResolver();
  352. if (uninterruptedTime < 0) {
  353. return;
  354. }
  355. Bundle extras = new Bundle();
  356. switch(scannerType) {
  357. case "zebra":
  358. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  359. extras.putInt(SET_UNINTERRUPTED_TIME, uninterruptedTime);
  360. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, SET_UNINTERRUPTED_TIME, null, extras);
  361. } else {
  362. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  363. }
  364. break;
  365. case "hsm":
  366. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  367. extras.putInt(SET_UNINTERRUPTED_TIME, uninterruptedTime);
  368. extras = resolver.call(ACTION_SCAN_URI, SET_UNINTERRUPTED_TIME, null, extras);
  369. } else {
  370. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  371. }
  372. break;
  373. }
  374. }
  375. public int getLightsMode() {
  376. int lightsMode = 3;
  377. if (resolver == null)
  378. resolver = mContext.getContentResolver();
  379. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  380. Log.d(TAG, "find provider " + ACTION_SCAN_URI);
  381. Bundle extras = new Bundle();
  382. extras = resolver.call(ACTION_SCAN_URI, GET_LIGHTS_MODE, null, extras);
  383. lightsMode = extras.getInt(GET_LIGHTS_MODE, 3);
  384. } else {
  385. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  386. }
  387. return lightsMode;
  388. }
  389. public void setLightsMode(int lightsMode) {
  390. if (resolver == null)
  391. resolver = mContext.getContentResolver();
  392. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  393. Log.d(TAG, "find provider " + ACTION_SCAN_URI);
  394. Bundle extras = new Bundle();
  395. extras.putInt(SET_LIGHTS_MODE, lightsMode);
  396. extras = resolver.call(ACTION_SCAN_URI, SET_LIGHTS_MODE, null, extras);
  397. } else {
  398. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  399. }
  400. }
  401. public Bundle getScanerAllParameter() {
  402. Bundle extras = null;
  403. if (resolver == null)
  404. resolver = mContext.getContentResolver();
  405. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  406. Log.d(TAG, "find provider " + ACTION_SCAN_URI);
  407. extras = new Bundle();
  408. extras = resolver.call(ACTION_SCAN_URI, GET_SCANER_ALL_PARAMETER, null, extras);
  409. } else {
  410. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  411. }
  412. return extras;
  413. }
  414. public void setScanerAllParameter(Bundle bundle) {
  415. if (bundle == null) return;
  416. if (resolver == null)
  417. resolver = mContext.getContentResolver();
  418. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  419. Log.d(TAG, "find provider " + ACTION_SCAN_URI);
  420. Bundle extras = resolver.call(ACTION_SCAN_URI, SET_SCANER_ALL_PARAMETER, null, bundle);
  421. } else {
  422. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  423. }
  424. }
  425. public Object getScanerParameter(String parameterKey) {
  426. Object object = null;
  427. if (resolver == null)
  428. resolver = mContext.getContentResolver();
  429. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  430. Log.d(TAG, "find provider " + ACTION_SCAN_URI);
  431. Bundle extras = new Bundle();
  432. extras.putString(GET_SCANER_PARAMETER, parameterKey);
  433. extras = resolver.call(ACTION_SCAN_URI, GET_SCANER_PARAMETER, null, extras);
  434. object = extras.get(GET_SCANER_PARAMETER);
  435. //Log.d(TAG, "getScanerParameter value: " + object);
  436. } else {
  437. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  438. }
  439. return object;
  440. }
  441. private void setScanerParameter(Bundle bundle) {
  442. if (resolver == null)
  443. resolver = mContext.getContentResolver();
  444. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  445. Log.d(TAG, "find provider " + ACTION_SCAN_URI);
  446. //Bundle extras = new Bundle();
  447. //extras.putString(SET_SCANER_PARAMETER, parameter);
  448. bundle = resolver.call(ACTION_SCAN_URI, SET_SCANER_PARAMETER, null, bundle);
  449. } else {
  450. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  451. }
  452. }
  453. public void setScanerParameter(String parameterKey, boolean parameter) {
  454. if (!TextUtils.isEmpty(parameterKey)) {
  455. Bundle extras = new Bundle();
  456. extras.putString(SET_SCANER_PARAMETER, parameterKey);
  457. extras.putBoolean(IS_BOOL, true);
  458. extras.putBoolean(CUSTOM_VALUE_KEY, parameter);
  459. setScanerParameter(extras);
  460. }
  461. }
  462. public void setScanerParameter(String parameterKey, String parameter) {
  463. if (!TextUtils.isEmpty(parameterKey)) {
  464. Bundle extras = new Bundle();
  465. extras.putString(SET_SCANER_PARAMETER, parameterKey);
  466. extras.putBoolean(IS_BOOL, false);
  467. extras.putString(CUSTOM_VALUE_KEY, parameter);
  468. setScanerParameter(extras);
  469. }
  470. }
  471. /*
  472. public void setScanerParameter(String parameterKey, int parameter) {
  473. if (!TextUtils.isEmpty(parameterKey)) {
  474. String para = parameterKey + "," + parameter;
  475. setScanerParameter(para);
  476. }
  477. }*/
  478. public String getScanerInfo() {
  479. String info = "";
  480. if (resolver == null)
  481. resolver = mContext.getContentResolver();
  482. Bundle extras = new Bundle();
  483. switch(scannerType) {
  484. case "zebra":
  485. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  486. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, SCANER_ABOUT, null, extras);
  487. if (extras != null) {
  488. info = extras.getString(SCANER_ABOUT);
  489. }
  490. } else {
  491. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  492. }
  493. break;
  494. case "hsm":
  495. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  496. extras = resolver.call(ACTION_SCAN_URI, GET_SCANER_INFO, null, extras);
  497. if (extras != null)
  498. info = extras.getString(GET_SCANER_INFO);
  499. } else {
  500. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  501. }
  502. break;
  503. }
  504. return info;
  505. }
  506. public void scan() {
  507. if (resolver == null)
  508. resolver = mContext.getContentResolver();
  509. Bundle extras = new Bundle();
  510. switch(scannerType) {
  511. case "zebra":
  512. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI_ZEBRA) != null) {
  513. extras = resolver.call(ACTION_SCAN_URI_ZEBRA, CUSTOM_SCAN, null, extras);
  514. } else {
  515. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI_ZEBRA);
  516. }
  517. break;
  518. case "hsm":
  519. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  520. extras = resolver.call(ACTION_SCAN_URI, CUSTOM_SCAN, null, extras);
  521. } else {
  522. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  523. }
  524. break;
  525. }
  526. }
  527. public void stopLongLight() {
  528. if (resolver == null)
  529. resolver = mContext.getContentResolver();
  530. if (resolver.acquireContentProviderClient(ACTION_SCAN_URI) != null) {
  531. Log.d(TAG, "find provider " + ACTION_SCAN_URI);
  532. Bundle extras = new Bundle();
  533. extras = resolver.call(ACTION_SCAN_URI, CUSTOM_STOP_LONGLIGHT, null, extras);
  534. } else {
  535. Log.d(TAG, "Could Not Find Provider " + ACTION_SCAN_URI);
  536. }
  537. }
  538. }