首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PhoneGap安卓手电筒插件无法工作

PhoneGap安卓手电筒插件无法工作
EN

Stack Overflow用户
提问于 2012-09-24 16:37:30
回答 3查看 2.4K关注 0票数 0

PhoneGap手电筒插件

我正在尝试运行phonegap/android的torch插件。我使用这个代码Github Torch Plugin,我没有得到任何错误,我不知道可能的错误在哪里。我使用的是cordova-2.0.0库。

这是我的index.html

<script type="text/javascript" src="Torch.js">

代码语言:javascript
复制
 `</script>     <script type="text/javascript" src="TorchFunctions.js">      </script> </body> </html>`

这是TorchFunctions.js

代码语言:javascript
复制
    window.plugins.Torch.toggle( 
    function() { console.log( "toggle" ) }                          
,   function() { console.log( "error" ) }                           
);

我正在三星Galaxy SIII上调试这个。我读到三星设备可能有问题,这是真的吗?如果是这样的话,有没有人能提点建议呢?也许插件不是最新的。最近有没有人用过这个插件?

EN

回答 3

Stack Overflow用户

发布于 2012-09-24 18:00:07

您是否尝试过:

代码语言:javascript
复制
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中提供了正确的路径。

代码语言:javascript
复制
  <script src="/folderWithJscript/Torch.js"></script>

声明必须位于html文件的头部,如下所示:

代码语言:javascript
复制
 <html>
 <head>

 <script src="Torch.js"></script>

 </head>
 <body></body></html>

要从按钮调用该函数/将其链接到您的html之外,应该是这样的:

代码语言:javascript
复制
<a href="#torch" onclick="window.plugins.Torch.turnOn()">Torch on</a>

不过,这只是一种猜测。请查看文档以了解其余内容。

在你的TorchFunctions.js中保持你的Torch函数独立也是可以的。您只需再次将该脚本包含在html头文件中!

同样,您必须在您的android项目中创建一个名为res的文件夹(如果还没有的话),然后创建另一个名为xml的文件夹,其中包含一个名为plugins.xml的文件,并在res/xml/plugins.xml中添加一个插件行

代码语言:javascript
复制
<plugin name="Torch" value="nl.debree.phonegap.plugin.torch.TorchPlugin" />
票数 0
EN

Stack Overflow用户

发布于 2012-09-25 15:33:42

在android phonegap应用程序中使用原生代码的另一个选择是在phonegap的下方或上方使用带有webview的actionbar。

以下是关于android原生操作栏的信息,该操作栏只能在3.0以上版本中使用:

http://developer.android.com/guide/topics/ui/actionbar.html

或者第三方动作栏,它几乎适用于本机动作栏的所有版本/改编:

您可能想要查看ActionBarSherlock http://actionbarsherlock.com/。源代码可以在https://github.com/JakeWharton/ActionBarSherlock上找到。它将让您了解它是如何与片段一起使用的。它会给你一些关于如何继续进行的想法。

google创建了一个android兼容库,以使用他们在更低版本上为honeycomb创建的一些新API。它可以在android sdk文件夹中找到,如E:\Program Files\Android\android-sdk-windows\android-compatibility\v4\android-support-v4.jar.如果您没有这个jar,您将需要使用avd管理器下载它。

票数 0
EN

Stack Overflow用户

发布于 2013-06-05 14:23:49

我遇到了这个问题。在adb的日志输出中,我看到:

代码语言:javascript
复制
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清单中:

代码语言:javascript
复制
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CAMERA" />

我希望这对某些人有帮助!

  • Gavin
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12561457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档