我在寫Android應用程序,我的客戶端需要一個條碼掃描器。他們是真正的具體談談它,所以他們想要的佈局是這樣的:將zxing條碼掃描器嵌入到活動中
如果找到一個QR碼 - 它會自動跳轉到另一個窗口。如果手動按下 - 系統會要求您手動輸入並繼續執行應用程序的其餘部分。
因此,基本上我可以將zxing代碼嵌入到我的應用程序中並將其添加到活動中,但我不希望這樣,並希望將其作爲單獨的應用程序使用。
我目前所面對的是什麼叫這樣一個獨立的活動:
IntentIntegrator integrator = new IntentIntegrator(this);
integrator.initiateScan();
我也試過這樣:
IntentIntegrator intentIntegrator = new IntentIntegrator(this);
Intent i = intentIntegrator.initiateCustomScan();
LocalActivityManager mgr = getLocalActivityManager();
Window w = mgr.startActivity("unique_per_activity_string", i);
View wd = w != null ? w.getDecorView() : null;
if(wd != null) {
scanButton.addView(wd);
}
但後來我得到java.lang.SecurityException異常:
03-19 12:22:55.890: E/AndroidRuntime(29394): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.menucard.barcode.scan/com.barcode.scan.ScanActivity}: java.lang.SecurityException: Requesting code from com.google.zxing.client.android (with uid 10139) to be run in process com.menucard.barcode.scan (with uid 10169)
也許有人有一個想法如何添加一個單獨的應用程序到我的活動?或者其他方式來完成這個?
由於zxing是開源的,您可以使用他們的代碼並創建您自己的視圖...您爲什麼要使用他們現有的應用程序? – 2013-03-19 11:52:36
首先,他們不推薦自己,我明白爲什麼。通過這種方式,我只會關注連接到他們的應用程序,而不是整個應用程序。 如果他們更新了某些東西,我也會得到最新的更新(當然如果用戶決定更新條碼掃描器應用)。 – 2013-03-19 11:59:18
如果您需要自定義掃描屏幕,那麼我認爲使用他們的代碼並創建您自己的佈局將是一個好主意,因爲您無法更改其他應用程序的視圖... – 2013-03-19 12:11:15