正在启动Camera Activity Cordova插件
Starting Camera Activity Cordova Plugin
基本上,我想做的是创建Aztec代码读取器插件。所以我需要在我的应用程序中打开某种摄像头屏幕。我应该在我的Java代码中这样做,现在看起来是这样的:
public class AztecReaderPlugin extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
try {
if(action.equals("open")) {
Context context = cordova.getActivity().getApplicationContext();
Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
callbackContext.success();
return true;
}
callbackContext.error("Something gone wrong!");
return false;
} catch (Exception e) {
callbackContext.error(e.getMessage());
return false;
}
}
}
它基本上应该执行MainActivity
类内部的代码。MainActivity
类方法onCreate
如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.activity_main);
Button btnDoFocus = (Button)findViewById(R.id.buttonAutoFocus);
btnDoFocus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
preview.autoFocus();
}
});
Button btnDoAztec = (Button)findViewById(R.id.buttonDoAztec);
btnDoAztec.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
preview.setEnableReadAztecCode(true);
}
});
}
问题是,当我忘记了AztecReaderPlugin
,并将MainActivity
代码作为一个独立的Android应用程序运行时,它就像我想要的那样工作。
我找不到任何能帮助我解决问题的教程/帖子,我也没有时间学习Android开发。
所以我的问题是:如何将阿兹特克代码阅读器包含在我的Cordova应用程序中?
//编辑
我可以将我的插件包含到应用程序中,问题在于AztecReaderPlugin
类和一些与活动相关的方法。我的问题是我无法通过cordova打开某种相机视图。摄像头视图是我的插件。
当然可以
首先,你需要在config.xml中声明你的自定义插件。你可以在res>xml文件夹中找到这个文件。
<feature name="CustomPlugin">
<param name="android-package" value="com.Phonegap.CustomPlugin" />
</feature>
然后您需要使用Java代码来实现插件
public class CustomPlugin extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext)
throws JSONException {
if (action.equals("sayHello")){
try {
String responseText = "Hello world, " + args.getString(0);
callbackContext.success(responseText);
} catch (JSONException e){
callbackContext.error("Failed to parse parameters");
}
return true;
}
return false;
}
}
最后,我们从javascript 调用一个插件
function initial(){
var name = $("#NameInput").val();
cordova.exec(sayHelloSuccess, sayHelloFailure, "CustomPlugin", "sayHello", [name]);
}
function sayHelloSuccess(data){
alert("OK: " + data);
}
function sayHelloFailure(data){
alert("FAIL: " + data);
}
相关文章:
- 使用filetransfer/cordova插件上传一些文件
- phoneGap/Cordova插件加载顺序/交易w/AdBlock
- Cordova插件在使用Framework7时不起作用
- 使用cordova插件删除iOS中应用程序的临时目录
- cordova插件屏幕方向不适用于特定页面
- Cordova 3.x插件开发
- 它是如何在cordova插件对话框中使用参数按钮Index的
- 自定义Cordova插件,释放一个保持回调而不调用它
- 哪个cordova插件可以做后台服务
- Ionic V2和Cordova插件-未捕获类型错误:无法设置属性'测试'为null
- 谷歌地图没有显示?Cordova插件
- 访问下载的html文件中的cordova插件
- 安装 Phonegap/Cordova 3.1 插件(条形码扫描仪)
- iOS 中的 Ionic 应用程序无法使用 cordova 插件媒体播放本地音频
- “流星运行安卓设备”需要永远安装Cordova插件
- “gamecenter undefined”使用Game Center Cordova插件
- 将Cordova插件与Meteor.js一起使用
- Cordova 插件 Javascript 函数调用来自 iOS 4.0.0 中的 Native
- Ionic Framework 中的 Cordova 插件媒体兼容性问题
- 从离子控制器访问cordova插件