我有下一个问题:
当我尝试启动相机时,我可以拍摄照片,甚至将其保存在sdcard上,但是当我准备在设备上显示该照片的路径时,会出现错误。
我的全局变量为2(我使用了1,但最好使用2来确保这是一个奇怪的错误):
private File photofile;
private Uri mMakePhotoUri;
Run Code Online (Sandbox Code Playgroud)
这是我的入门相机功能:
@SuppressLint("SimpleDateFormat")
public void farefoto(int num){
// For naming the picture
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
String n = sdf.format(new Date());
String fotoname = "Immagine-"+ n +".jpg";
//Going through files and folders
File photostorage = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File photostorage2 = new File(photostorage, "Immagini");
System.out.println(photostorage+"\n"+photostorage2);
photostorage2.mkdirs();
// My file (global)
photofile = new File(photostorage2, fotoname);
Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //intent to start camera
// My URI (global)
mMakePhotoUri = Uri.fromFile(photofile);
new Bundle(); …Run Code Online (Sandbox Code Playgroud) variables android global nullpointerexception android-camera-intent
我用这个代码来使用android的内置图像裁剪工具.我的代码如下
public void takePicture(){
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null){
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
takePictureIntent.putExtra("crop", "true");
takePictureIntent.putExtra("aspectX", 0);
takePictureIntent.putExtra("aspectY", 0);
takePictureIntent.putExtra("outputX", 200);
takePictureIntent.putExtra("outputY", 150);
takePictureIntent.putExtra("return-data", true);
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
imageViewImage.setImageBitmap(imageBitmap);
}
}
Run Code Online (Sandbox Code Playgroud)
在Button的单击侦听器内调用takePicture.做的是我可以打开Android相机拍照,当点击保存图像保存在我的imageView上.但是没有出现裁剪活动,而且imageView上的图像看起来很糟糕.质量就像它的像素化.难道我做错了什么?我使用三星galaxy tab 3来测试我的应用程序
使用以下答案编辑... Stil无法正常工作
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if (requestCode == REQUEST_IMAGE_CAPTURE && …Run Code Online (Sandbox Code Playgroud) 我知道我可以在清单中设置活动的方向,但是当此活动调用MediaStore.ACTION_IMAGE_CAPTURE打开相机并拍照时,用户仍然可以以横向模式拍照。我可以将相机应用程序本身的方向锁定为纵向吗?
这是示例代码:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
startActivityForResult(intent, TAKE_PICTURE);
Run Code Online (Sandbox Code Playgroud)
我想阻止用户拍摄任何风景照片。
任何帮助将不胜感激。
编辑:发现该主题的另一个问题尚未得到解答: How to lock the Camera app Direction Called through Intent in android?
我的设备无法加载本机库;错误消息是
java.lang.UnsatisfiedLinkError: dlopen failed: unknown reloc type 160 @ 0xa849dc64 (6010)
Run Code Online (Sandbox Code Playgroud)
实际上160是R_SH_GOT32并且不应被Android加载程序所期望。
这是最小的代码示例:
#include <atomic>
#define N 3
struct S {
int a[N];
};
void qq() {
std::atomic<S> s;
s.exchange(S());
}
Run Code Online (Sandbox Code Playgroud)
请注意,足以#define N 2正确加载库。
我正在使用NDK r10e,在ARM 32上进行测试,并将仿真器设置为API 4.4.4(API 19)。我尝试了不同的工具链:4.8、4.9和clang。我尝试了gnustl_static和共享,以及libc ++。
这闻起来像是NDK中的错误吗?
更新:使用NDK 11和clang工具链,链接器仅显示
NDK_ROOT / sources / cxx-stl / gnu-libstdc ++ / 4.9 / include / atomic:233:错误:未定义对'__atomic_exchange'的引用
有时我会遇到看起来与此非常相似的崩溃报告:http : //en.miui.com/thread-663538-1-1.html。
特别要注意这一点:
backtrace:
#00 pc 00000408 /data/data/com.XXXX.YYY/files/libcrashreport.so (deleted) (offset 0x7000)
#01 pc 00091add /system/lib/libart.so (offset 0x1cf000)
Run Code Online (Sandbox Code Playgroud)
它似乎发生在某些 Android 7 版本上。特定偏移libart.so可以是不同的,因此是在偏移libcrashreport.so。但是我在 Android 源代码中找不到任何提及 libcrashreport 的内容。这(deleted)意味着什么?APK 不附带此类库。
PS:这个库可以成为 Apptimize SDK 的一部分吗?
我有一个双向文本
1002 -??? ???? ????????
Run Code Online (Sandbox Code Playgroud)
大多数编辑记事本++,记事本等显示文本,如此处所示.但是当我通过ICU处理这个文本时,数字会向右移动,然后是空格和连字符,然后是阿拉伯语.ICU的示例应用程序layout.exe也显示右侧的数字.我修改了paragraphlayout.cpp并设置了所有可能的重新排序模式,但结果仍然相同:

有人可以帮助配置ICU以提供其他显示引擎的输出.
当使用 AndroidX 库构建 APK 时,我会得到很多小文本文件,例如META-INF/androidx.core_core.version. 这些文件的目的是什么?androidx如何使用它们?
如果我有一个用他们的密钥签名的第三方 apk。
我用我们的设备预先构建了它,在 ics 中,这应该用 BUILD_PREBUILT 来完成,apk 必须用我们的密钥签名,但是当用户拿到设备时,他们如何使用第三方提供的最新版本升级 apk?(证书不一样)。
提前致谢。
我已经看到了所有其他缓冲区溢出帖子,我已经尝试了他们所说的一切.事情是我不像大多数人得到错误的API 19.我正在为Google Glass构建玻璃器皿,因此我使用的是API 15(4.0.3).为什么我会收到此错误?
[(timestamp) Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[(timestamp) - (AppName)] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
Run Code Online (Sandbox Code Playgroud) 这是完整的代码,当我尝试android jni示例时,我得到has unexpected e_machine,完整的步骤是:
$ /media/roroco/disk750/adr/android-ndk-r10e/ndk-buil并得到以下输出
Process: com.mamlambo.sample.ndk1, PID: 5560
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.mamlambo.sample.ndk1-1/lib/arm/libndk1.so" has unexpected e_machine: 40
at java.lang.Runtime.loadLibrary(Runtime.java:371)
at java.lang.System.loadLibrary(System.java:988)
at com.mamlambo.sample.ndk1.AndroidNDK1SampleActivity.<clinit>(AndroidNDK1SampleActivity.java:35)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.Class.newInstance(Class.java:1606)
Run Code Online (Sandbox Code Playgroud) android ×7
android-ndk ×2
adt ×1
android-crop ×1
androidx ×1
apptimize ×1
atomic ×1
bidi ×1
c++ ×1
c++11 ×1
crop ×1
eclipse ×1
g++ ×1
global ×1
google-gdk ×1
google-glass ×1
icu ×1
image ×1
variables ×1