[英]Android call cameraApp from non-activity class issue
雖然我找到了幾個類似的回答問題,但我無法解決我的問題:
我使用Fragment oFragment
從我想要將Camera稱為新Activity。 因此我創建了一個非活動類Camera。 運行時我收到錯誤:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.PackageManager android.app.Activity.getPackageManager()' on a null object reference
oFragment
放置在MainActivity
中的FrameLayout
中。 我還嘗試了Camera
with Context context
的構造函數。 你看到任何變通方法或錯誤嗎? 提前致謝!
編輯:如果直接在oFragment
實現,代碼可以正常工作。
班級相機:
public class Camera {
static final int REQUEST_IMAGE_CAPTURE = 1;
Activity activity;
public Camera(Activity activity) {
this.activity = activity;
}
public void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(activity.getPackageManager()) != null) {
activity.startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
從oFragment剪掉:
public class OFragment extends Fragment {
Camera cam = new Camera(getActivity());
...
@Override
public void onClick(View v) {
cam.dispatchTakePictureIntent();
}
我剛剛解決了 我不得不添加行super();
我的建設者,它工作正常!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.