ボイラープレート HTML と次の JavaScript のみを含むアプリケーションでTrigger.io のバーコード APIを使用する:
forge.barcode.scan(function (value) {
alert("You scanned: "+value);
});
ログに次のエラーが表示されます。
Forge Java エラー: RuntimeException: Looper.prepare() を呼び出していないスレッド内でハンドラーを作成できません
完全なエラー エントリ:
[INFO] D/Forge (1109): 返されました: {"content":{"message":"Forge Java エラー: RuntimeException: Looper.prepare() を呼び出していないスレッド内でハンドラーを作成できません","type" :"UNEXPECTED_FAILURE","subtype":null,"full_error":"java.lang.RuntimeException: Android.os.Handler.(Handler.java: 197) android.os.Handler.(Handler.java:111) android.app.Dialog.(Dialog.java:107) android.app.AlertDialog.(AlertDialog.java:114) android.app.AlertDialog $Builder.create(AlertDialog.java:931) で android.app.AlertDialog$Builder.show(AlertDialog.java:950) で io.trigger.forge.android.modules.barcode.API.scan(API.java:68) ) java.lang.io.trigger.forge.android.core.ForgeApp.callJavaFromJavaScript(ForgeApp.java:247) の java.lang.reflect.Method.invoke(Method.java:511) での Reflect.Method.invokeNative(ネイティブ メソッド)。 trigger.forge.android.core.ForgeJSBridge$1.run(ForgeJSBridge.java:17) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor) .java:573) at java.lang.Thread.run(Thread.java:856)\n"},"callid":"35E46BC5-1C17-4354-B09B-BE67B5FCD513","status":"error"}ForgeJSBridge$1.run(ForgeJSBridge.java:17) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) で java. lang.Thread.run(Thread.java:856)\n"},"callid":"35E46BC5-1C17-4354-B09B-BE67B5FCD513","ステータス":"エラー"}ForgeJSBridge$1.run(ForgeJSBridge.java:17) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) で java. lang.Thread.run(Thread.java:856)\n"},"callid":"35E46BC5-1C17-4354-B09B-BE67B5FCD513","ステータス":"エラー"}
アップデート:
以下は私のコードです:
ファイルconfig.json
{
"config_version": "2",
"name": "Scan to Web",
"author": "email@email.com",
"version": "0.1",
"platform_version": "v1.4",
"description": "An empty app created by default",
"modules": {
"logging": {
"level": "DEBUG"
},
"barcode": true,
"contact": true,
"file": true,
"is": true,
"media": true,
"prefs": true,
"request": {
"permissions": ["http://*/*", "https://*/*"]
},
"tools": true,
"reload": true
}
}
ファイルdefault.js
forge.barcode.scan(function (value) {
alert("You scanned: "+value);
});
ファイルindex.html
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<link rel="stylesheet" href="css/jquery.mobile-1.1.0.min.css" />
<script src="js/jquery-1.7.1.min.js"></script>
<script src="js/jquery.mobile-1.1.0.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript" src="js/default.js"></script>
</head>
<body>
<p>Hello world!</p>
</body>
</html>