我使用自定义相机应用程序,然后我打开这个应用程序工作正常,但我打开相机视图,并拍照得到错误在Android 4.4版本中失败的活页夹交易,但当我检查以下所有版本4.4以下工作正常.为什么android 4.4版本有问题?
我在下面的相机活动:
public class CameraActivity extends Activity {
Camera mCamera;
CameraPreview mCameraPreview;
protected static final int MEDIA_TYPE_IMAGE = 0;
static String FilePAth = "";
Button takePicture , btnGlr , btnCancelCamera;
static String base64string = "";
String ImageType;
final int RESULT_LOAD_IMAGE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.camera_preview);
mCamera = getCameraInstance();
mCameraPreview = new CameraPreview(CameraActivity.this, mCamera);
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
preview.addView(mCameraPreview);
takePicture = (Button) findViewById(R.id.btnTakePicture);
takePicture.setOnClickListener(new OnClickListener() {
@Override
public …Run Code Online (Sandbox Code Playgroud) 我正在尝试从服务中下载图像并将其显示在活动中,但我一直在努力
java binder FAILED BINDER TRANSACTION
Run Code Online (Sandbox Code Playgroud)
这是我的服务代码
public class DownloadImageService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
new LoadImageAsync().execute(intent.getStringExtra("type"));
return Service.START_NOT_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
private class LoadImageAsync extends AsyncTask<String, Void, String> {
byte[] compressedImage;
Bitmap bmp;
String img;
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
try {
URL url = new URL(imgUrl);
bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
compressedImage = CompressBitmap.compresssImage(bmp);
img = Base64.encodeToString(compressedImage, …Run Code Online (Sandbox Code Playgroud) 我有下一个问题,我正在创建一个列表视图自定义适配器,我正在使用异步任务从JSON url(文本和图像URL)下载适配器的数据,然后我将适配器设置为列表,我使用毕加索库下载图像,现在我的应用程序工作正常,它不会崩溃,但当我开始另一个活动时,我得到这个:
E/JavaBinder?!失败的粘合剂交易!
即使新活动为空,我也会收到错误,我正在使用moto G.我已经使用DDMS和Eclipse MAT分析了堆,我还没有发现我的代码是否导致内存泄漏.多次从一个活动转换到另一个活动我在logcat中得到了这个:
09-04 10:37:54.827 30603-30603/mx.f403.whimlike E/JavaBinder? !!! FAILED BINDER TRANSACTION !!!
09-04 10:38:01.793 30603-30603/mx.f403.whimlike D/dalvikvm? GC_FOR_ALLOC freed 1178K, 24% free 13642K/17876K, paused 21ms, total 21ms
09-04 10:38:02.939 30603-30603/mx.f403.whimlike E/JavaBinder? !!! FAILED BINDER TRANSACTION !!!
09-04 10:38:07.235 30603-30603/mx.f403.whimlike D/dalvikvm? GC_FOR_ALLOC freed 1008K, 24% free 13657K/17876K, paused 20ms, total 20ms
09-04 10:38:14.484 30603-30603/mx.f403.whimlike E/JavaBinder? !!! FAILED BINDER TRANSACTION !!!
09-04 10:38:15.497 30603-30603/mx.f403.whimlike D/dalvikvm? GC_FOR_ALLOC freed 1065K, 24% free 13656K/17876K, paused 18ms, total 18ms
09-04 10:38:16.371 30603-30603/mx.f403.whimlike E/JavaBinder? !!! …Run Code Online (Sandbox Code Playgroud) 我试图将一个1000000秒的数组int从一个Activity到另一个.它适用于较小的数字,但是当我尝试1000000时,startActivity什么都不做,并导致它在logcat中显示:
E/JavaBinder(2239): !!! FAILED BINDER TRANSACTION !!!
Run Code Online (Sandbox Code Playgroud)
为什么?
这里有一些代码证明了这个问题:
MainActivity.java
package com.example.a;
import android.os.Bundle;
import android.view.View;
import android.app.Activity;
import android.content.Intent;
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void startSecond(View v) {
startActivity(new Intent(this, SecondActivity.class).putExtra(
"a", new int[1000000]));
}
}
Run Code Online (Sandbox Code Playgroud)
SecondActivity.java
package com.example.a;
import android.os.Bundle;
import android.app.Activity;
public class SecondActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
}
Run Code Online (Sandbox Code Playgroud)
activity_main.xml中
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" …Run Code Online (Sandbox Code Playgroud) 我想将图像作为位图从一个活动传递到另一个活动.我想知道是否可以这样做.
发送活动
Intent intent = new Intent(getApplicationContext(), BitmapActivity.class);
Bundle b = new Bundle();
b.putParcelable("BITMAP", bitmap);
intent.putExtras(b);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
接收活动
Bundle bb = this.getIntent().getExtras();
b = bb.getParcelable("BITMAP");
Run Code Online (Sandbox Code Playgroud)
但我得到了!!! 失败的粘合剂交易!错误