我想创建一个与默认相机应用程序相同的应用程序,只进行一次小修改(即禁用视频或添加额外功能)。我该怎么做?
我是否只是获取相机应用的源代码并对其进行修改,还是有办法扩展Android系统的核心组件?
答案 0 :(得分:2)
bizso99,
您可以从Intent
拨打Activity
,这只是相机无视频功能:
public void imageFromCamera() {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent, TAKE_PICTURE);
}
这将返回图像的较小缩略图版本。如果您想要完整尺寸,则需要使用Mediastore.EXTRA_OUTPUT
,如下所示:
public void imageFromCamera() {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
mImageFile = new File(pathToStoreImage); //file where image will be stored
mSelectedImagePath = mImageFile.getAbsolutePath(); //path to file where image will be stored
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mImageFile));
startActivityForResult(intent, TAKE_PICTURE);
}
然后您可以在onActivityResult()
答案 1 :(得分:1)
Android是开源的,因此您可以下载Android中每个stock-app的源代码(不适用于像Google这样的Google应用)。实际上,您可以从the android git repo下载最新的原始相机应用。只有你下载整个android-source才能构建apk。有关如何构建android-source的概述,请参阅this howto。您可以根据需要修改源代码。
我很确定在没有复制源代码的情况下扩展相机应用程序是不可能的,因为相机-api没有plugin-api(或类似代码)。