Android : how to check if device has camera

In Android, you can use PackageManager , hasSystemFeature() method to check if a device has camera, gps or other features.

See full example of using PackageManager in an activity class.


package com.mkyong.android;

import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;

public class FlashLightActivity extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//setContentView(R.layout.main);

		Context context = this;
		PackageManager packageManager = context.getPackageManager();

		// if device support camera?
		if (packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
			//yes
			Log.i("camera", "This device has camera!");
		}else{
			//no
			Log.i("camera", "This device has no camera!");
		}

		
	}
}
Camera flashlight example
You may interest on this example – How to turn on/off camera LED/flashlight in Android.

Reference

  1. Android PackageManager Javadoc

6 comments on “Android : how to check if device has camera

  1. Thank you so much for this tutorials !; they are like a starting point for me… although I am asked to develop ADF Apps, I think this would be a good way to earn some more bucks… now I am under the account of a bank but soon under the account of a credit card… so I’ll be proposing my idea in some more months… blessings

    Reply
  2. Thanks for the informative blog! Any idea how to mock/shadow the PackageManager for Android?

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *