我正在尝试按照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;
}
}
}
答案 0 :(得分:0)
您应该在onCreate方法中调用checkCameraHardware(this),以便在活动启动时运行。
答案 1 :(得分:0)
试试这个
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkCameraHardware(getApplicationContext());
}