PhoneGap Android Torch插件无法正常工作

时间:2012-09-24 08:37:30

标签: android cordova camera flashlight

PhoneGap Torch插件

我想让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上调试它。我读到三星设备可能存在问题 - 这是真的吗?如果是这样,有人可以提出任何建议 也许这个插件不是最新的。最近有人使用过该插件吗?

3 个答案:

答案 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" />

我希望这有助于某人!

  • 加文