android invoke 参数,如何使用Invoke传递接口回调参数

想要使用Nativey调用原生拍照对像内的拍照。原生代码片段如下:

camera.takePicture(null, null, picture);

对于picture,定义如下:

private Camera.PictureCallback picture = new Camera.PictureCallback() {

@Override

public void onPictureTaken(byte[] data, Camera camera) {

ByteArrayInputStream bais = new ByteArrayInputStream(data);

Drawable d = BitmapDrawable.createFromStream(bais, Environment

.getExternalStorageDirectory().getAbsolutePath()

+ "/img.jpeg");

try {

File dir = new File(Environment.getExternalStorageDirectory()

.toString() + "/Villean/");

if (!dir.exists()) {

dir.mkdirs();

}

String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmms",

Locale.CHINA).format(new Date());

File file = new File(dir.getPath() + "/" + timeStamp

+ "TouPai.jpg");

FileOutputStream outStream = new FileOutputStream(file);

outStream.write(data);

outStream.close();

control = true;

camera.startPreview();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

l.setBackgroundDrawable(d);

}

};

以上为android原生代码。

现在想要使用Navite实现,代码如下:

function androidAutoCamera() {

// Android平台导入Camera类

var Camera = plus.android.importClass("android.hardware.Camera");

// 创建Camera的实例对象

var camera = Camera.open(0);

//camera.setDisplayOrientation(90);

var pickCallBack = plus.android.implements("android.hardware.Camera.PictureCallback", {

"onPictureTaken": function(data,tcamera) {

alert('1');

}

});

alert('piccallback:'+pickCallBack);

plus.android.invoke(camera, "takePicture",null, null,pickCallBack);

alert(camera);

}

但是alert('1')的代码并未能触发,还请帮忙看看这样的方式调用回调是不是不正确的。在示例代码中并未查到这种复杂调用的参数的示例 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值