扩展Android应用程序

时间:2011-02-08 19:07:58

标签: android components

我想创建一个与默认相机应用程序相同的应用程序,只进行一次小修改(即禁用视频或添加额外功能)。我该怎么做?

我是否只是获取相机应用的源代码并对其进行修改,还是有办法扩展Android系统的核心组件?

2 个答案:

答案 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(或类似代码)。