iletişim kutusunda görünmüyor. Fotoğraf makinesinin amacını arıyorum ve bitmap'i onActivityResult() 'da işliyorum. Görüntü düzgün çalışan NDK ile işliyorum. Sonra görüntüyü sunmak için bir diyalog açmak istiyorum ama hiçbir şey olmuyor.Android, OnActivityResult
MainActivity has leaked window that was originally added here
I (onCreate gelen bu kodu his var) yöntemi bazen iletişim iptal ediyor:
private void startIrisRoutine(Bitmap imageBitmap) {
File tempDir = new File(getFilesDir() + File.separator + Constants.DIR_TEMP);
tempDir.mkdirs();
// create file for taken photo
final File inputFile = new File(tempDir + File.separator + Constants.FILE_INPUT + Constants.END_JPG);
// create face part files in temp folder
final File facePartFace = new File(tempDir + File.separator + Constants.FILE_FACE + Constants.END_PNG);
final File facePartEyeRight = new File(tempDir + File.separator + Constants.FILE_EYE_RIGHT + Constants.END_PNG);
final File facePartEyeLeft = new File(tempDir + File.separator + Constants.FILE_EYE_LEFT + Constants.END_PNG);
//create texture files
final File textureWahetRightFile = new File(tempDir + File.separator + Constants.FILE_TEXTURE + USITHelper.ALGO_SEG_WAHET_SHORT + Constants.FILE_EYE_RIGHT + Constants.END_PNG);
final File textureCahtRightFile = new File(tempDir + File.separator + Constants.FILE_TEXTURE + USITHelper.ALGO_SEG_CAHT_SHORT + Constants.FILE_EYE_RIGHT + Constants.END_PNG);
final File textureWahetLeftFile = new File(tempDir + File.separator + Constants.FILE_TEXTURE + USITHelper.ALGO_SEG_WAHET_SHORT + Constants.FILE_EYE_LEFT + Constants.END_PNG);
final File textureCahtLeftFile = new File(tempDir + File.separator + Constants.FILE_TEXTURE + USITHelper.ALGO_SEG_CAHT_SHORT + Constants.FILE_EYE_LEFT + Constants.END_PNG);
// create temp segmentation files
final File segmentationWahetRightFile = new File(tempDir + File.separator + Constants.FILE_SEGMENTS + USITHelper.ALGO_SEG_WAHET_SHORT + Constants.FILE_EYE_RIGHT + Constants.END_JPG);
final File segmentationCahtRightFile = new File(tempDir + File.separator + Constants.FILE_SEGMENTS + USITHelper.ALGO_SEG_CAHT_SHORT + Constants.FILE_EYE_RIGHT + Constants.END_JPG);
final File segmentationWahetLeftFile = new File(tempDir + File.separator + Constants.FILE_SEGMENTS + USITHelper.ALGO_SEG_WAHET_SHORT + Constants.FILE_EYE_LEFT + Constants.END_JPG);
final File segmentationCahtLeftFile = new File(tempDir + File.separator + Constants.FILE_SEGMENTS + USITHelper.ALGO_SEG_CAHT_SHORT + Constants.FILE_EYE_LEFT + Constants.END_JPG);
try {
FileOutputStream fos = new FileOutputStream(inputFile);
imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mUSITHelper.findFaceParts(inputFile, facePartFace, facePartEyeLeft, facePartEyeRight);
mUSITHelper.segmentPicture(facePartEyeLeft, textureWahetLeftFile, segmentationWahetLeftFile, USITHelper.ALGO_SEG_WAHET);
mUSITHelper.segmentPicture(facePartEyeLeft, textureCahtLeftFile, segmentationCahtLeftFile, USITHelper.ALGO_SEG_CAHT);
mUSITHelper.segmentPicture(facePartEyeRight, textureWahetRightFile, segmentationWahetRightFile, USITHelper.ALGO_SEG_WAHET);
mUSITHelper.segmentPicture(facePartEyeRight, textureCahtRightFile, segmentationCahtRightFile, USITHelper.ALGO_SEG_CAHT);
final AlertDialog.Builder alertadd = new AlertDialog.Builder(this);
alertadd.setCancelable(false);
LayoutInflater factory = LayoutInflater.from(this);
View view = factory.inflate(R.layout.dialog_segmen, null);
alertadd.setTitle("Only select properly segmented pictures:");
alertadd.setView(view);
alertadd.setNegativeButton("Retry", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dlg, int sumthin) {
dispatchTakePictureIntent();
}
});
alertadd.setPositiveButton("Done", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dlg, int sumthin) {
dlg.dismiss();
}
});
final Dialog dialog = alertadd.create();
dialog.show();
ImageView ivWahetLeft = (ImageView) dialog.findViewById(R.id.ivWahetLeft);
ivWahetLeft.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createIrisTemplate(textureWahetLeftFile, segmentationWahetLeftFile, USITHelper.ALGO_SEG_WAHET_SHORT, Constants.EYE_POSITION_LEFT);
v.setClickable(false);
v.setEnabled(false);
((ImageView) v).setImageBitmap(null);
}
});
final ImageView ivCahtLeft = (ImageView) dialog.findViewById(R.id.ivCahtLeft);
ivCahtLeft.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createIrisTemplate(textureCahtLeftFile, segmentationCahtLeftFile, USITHelper.ALGO_SEG_CAHT_SHORT, Constants.EYE_POSITION_LEFT);
v.setClickable(false);
v.setEnabled(false);
((ImageView) v).setImageBitmap(null);
}
});
ImageView ivWahetRight = (ImageView) dialog.findViewById(R.id.ivWahetRight);
ivWahetRight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createIrisTemplate(textureWahetRightFile, segmentationWahetRightFile, USITHelper.ALGO_SEG_WAHET_SHORT, Constants.EYE_POSITION_RIGHT);
v.setClickable(false);
v.setEnabled(false);
((ImageView) v).setImageBitmap(null);
}
});
ImageView ivCahtRight = (ImageView) dialog.findViewById(R.id.ivCahtRight);
ivCahtRight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createIrisTemplate(textureCahtRightFile, segmentationCahtRightFile, USITHelper.ALGO_SEG_CAHT_SHORT, Constants.EYE_POSITION_RIGHT);
v.setClickable(false);
v.setEnabled(false);
((ImageView) v).setImageBitmap(null);
}
});
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage("file:///" + segmentationWahetLeftFile, ivWahetLeft);
imageLoader.displayImage("file:///" + segmentationCahtLeftFile, ivCahtLeft);
imageLoader.displayImage("file:///" + segmentationCahtRightFile, ivCahtRight);
imageLoader.displayImage("file:///" + segmentationWahetRightFile, ivWahetRight);
}
Şimdi ben diğer makinelerden (değil mayına) atılan bir hata olduğunu anladım ? UI şeyler ve bazı arka uç haberleşme rağmen sadece
başlatıldığındaGÜNCELLEME: Ölümcül sinyali 11 (SIGSEGV), kod 1, tid 12737 (RenderThread) arıza addr 0x24 (daha hızlı, SGS6 yerine başka deivce Uygulamayı çalıştırırken SGS $). İletişim kutusu açılır ve görüntü hatalarından birini tıklatırken bu hatayı alırım
Burada * tam * bu kodu diyorsunuz? Görüntüyü, kendi başlığımda yeni bir Thread başlatmayarak, onActivityresult() öğesinde aradığım –
ana iş parçasında işlemediğinizi varsayalım. NDK öğelerinin nasıl ele alındığından emin değil. Neyse NDK bölüm hala çalışıyor (Ben tüm günlükleri ve dosyaları oluşturuldu). Ama sonra iletişim sadece görünmeyecek. Ayrıca işlenmiş görüntüleri göstermek için diyaloga ImageViews ekleyin. CallOnClick() öğesini çağırdığımda Önemli bir hata alıyorum (bazı bellek erişime izin veriyor, izin verilmiyor) – 4ndro1d
"dialog.show()" öğesinin gerçekten ulaşıldığını doğrulayabilir misiniz? –