android寻找相机

时间:2014-01-07 07:14:05

标签: android camera

我正在尝试按照Android开发文档中的说明来处理构建相机应用程序。因此,文档的第一步是查看您的应用程序所在的设备是否还有一个摄像头。所以我构建了一个简单的代码,应该搜索我的设备(在这种情况下是模拟器)并查找它是否有相机。如果它确实创建了一个textveiw并显示“yes”,如果没有创建textveiw并显示“no”。但它所做的只是运行并在主layout.xml中显示文本,即“hello world”。我的代码发布在下面,任何帮助都会被提及。

 package com.example.cam_test2;

 import android.os.Bundle;
 import android.app.Activity;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.view.Menu;
 import android.widget.LinearLayout;
 import android.widget.TextView;

  public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}


/** Check if this device has a camera */
private boolean checkCameraHardware(Context context) {
    if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)){
        // this device has a camera
        LinearLayout lView = new LinearLayout(this);

        TextView myText = new TextView(this);
        myText.setText("yes");

        lView.addView(myText);

        setContentView(lView);
        return true;
    } else {
        // no camera on this device
        LinearLayout lView = new LinearLayout(this);

        TextView myText = new TextView(this);
        myText.setText("no");

        lView.addView(myText);

        setContentView(lView);

        return false;
    }
}

}

2 个答案:

答案 0 :(得分:0)

您应该在onCreate方法中调用checkCameraHardware(this),以便在活动启动时运行。

答案 1 :(得分:0)

试试这个

@Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
 checkCameraHardware(getApplicationContext());
}