我想让phonegap / android的火炬插件工作。我用过这段代码 Github Torch Plugin 我没有得到任何错误,我不知道可能的错误在哪里。我在用 cordova-2.0.0库。
这是我的index.html
<script type="text/javascript" src="Torch.js">
</script>
<script type="text/javascript" src="TorchFunctions.js">
</script>
</body>
</html>
这是TorchFunctions.js
window.plugins.Torch.toggle(
function() { console.log( "toggle" ) }
, function() { console.log( "error" ) }
);
我在三星Galaxy SIII上调试它。我读到三星设备可能存在问题 - 这是真的吗?如果是这样,有人可以提出任何建议 也许这个插件不是最新的。最近有人使用过该插件吗?
答案 0 :(得分:0)
你试过了吗?
window.plugins.Torch.turnOn(
function() { console.log( "turnOn" ) } // success
, function() { console.log( "error" ) } // error
);
否则我可以告诉你我的S3和其他三星手机也有问题。在我的几个项目中,我正在使用前面的led,我没有得到100%的工作。如果你有可能在非三星设备上测试它可能会更好,如果有必要,只有在必要之后才能调整代码。
另请确保您遵循https://github.com/phonegap/phonegap-plugins/blob/master/Android/Torch/README.md
上的所有其他步骤请确保您之前已将js文件复制到phonegap应用程序的根目录或在html中提供正确的路径
<script src="/folderWithJscript/Torch.js"></script>
声明必须位于html文件的头部,如:
<html>
<head>
<script src="Torch.js"></script>
</head>
<body></body></html>
要从一个按钮调用该函数/将它从你的html中链接出来,它将类似于:
<a href="#torch" onclick="window.plugins.Torch.turnOn()">Torch on</a>
这只是一个猜测。请查看文档以了解其余部分。
在TorchFunctions.js中保持Torch功能分离也很好。您只需要再次在html标题中包含该脚本!
同样你必须在你的android项目里面创建一个名为res的文件夹,如果还没有,那么另一个名为xml的文件名为plugins.xml,将一个插件行添加到res / xml / plugins.xml
<plugin name="Torch" value="nl.debree.phonegap.plugin.torch.TorchPlugin" />
答案 1 :(得分:0)
在android phonegap应用中使用本机代码的另一个选择是使用带有webview的操作栏,用于下面或上面的phonegap。
此处有关本机android操作栏的信息,该操作栏仅适用于3.0版本:
http://developer.android.com/guide/topics/ui/actionbar.html
或第三方操作栏,几乎适用于本机操作栏的所有版本/适配:
您可能想要结帐ActionBarSherlock http://actionbarsherlock.com/。源代码可在此处https://github.com/JakeWharton/ActionBarSherlock获取。它将让您了解它如何与片段一起使用。它会告诉你如何继续。
有一个Android兼容性库,谷歌创建它来使用他们为较低版本(如1.5及以上版本)创建蜂窝的一些新API。它可以在android sdk文件夹中找到,如E:\ Program Files \ Android \ android-sdk-windows \ android-compatibility \ v4 \ android-support-v4.jar。如果你没有这个罐子,你需要使用avd管理器下载它。
答案 2 :(得分:0)
我有这个问题。在adb的日志输出中,我看到了:
D/TorchPlugin(30890): Plugin created
W/System.err(30890): at nl.debree.phonegap.plugin.torch.TorchPlugin.<init>(TorchPlugin.java:41)
I/System.out(30890): Error adding plugin nl.debree.phonegap.plugin.torch.TorchPlugin.
解决方案是将以下权限添加到我的Android清单中:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CAMERA" />
我希望这有助于某人!