尝试将位图从一个活动传递到另一个活动时,我在getIntent()上收到NullPointerException错误
第一次活动

public void processor(View view)
{
    BitmapDrawable drawable = (BitmapDrawable)imageCapt.getDrawable();
    Bitmap yeet = drawable.getBitmap();

    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    yeet.compress(Bitmap.CompressFormat.PNG, 100, stream);
    byte[] bytes = stream.toByteArray();

    Intent intent = new Intent(camera_activity.this, ClassifierTask.class);
    intent.putExtra("picture", bytes);
    startActivity(intent);
}


接收活动

public class ClassifierTask extends AsyncTask<Void,Void,Void>  {

static Context context;
@Override
public void onPreExecute() {
    super.onPreExecute();

}
@Override
public Void doInBackground(Void... param) {


    Intent intent = ((Activity)context).getIntent();
    byte[] bytes = intent.getByteArrayExtra("picture");
    m_bitmapForNn = BitmapFactory.decodeByteArray(bytes,0, bytes.length);


我收到的错误是

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Intent android.app.Activity.getIntent()' on a null object reference


任何建议或解决方案,将不胜感激

最佳答案

我有一个很好的方法

您创建一个新的Class和一个新的static

public class Data {
    public static byte[] bytes;
}


或设置HashMap,ArrayList ....

你只是把数据放在另一个地方读

Data.bytes[0]=

关于java - getIntent()。getByteArrayExtra()返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59313640/

10-10 18:11