2

これを使用して phonegap プラグインを作成しようとしています -

https://github.com/dixon1e/ARviewer-phoneGap

プラグインアクションメソッドでこの呼び出しを使用しています-

if(action.equalsIgnoreCase("open")) {  
// campreview.onCreate(null);  
Log.d(PLUGIN_NAME, "Inside Open");  
cordova.getActivity().runOnUiThread(new Runnable(){   
public void run() {  
Log.d(PLUGIN_NAME, "Start Camera");  
Context context = cordova.getActivity().getApplicationContext();  
Intent intent = new Intent(context,CameraActivity.class);  
cordova.getActivity().startActivity(intent);  
callbackContext.success();  
}  
});  

私はこのような CameraActivity.java ファイルを作成しました -

private final static String tag = "CameraActivity";  
@Override  
public void onCreate(Bundle savedInstanceState) {  
Log.d(tag, "Inside onCreate CameraActivity");  

super.onCreate(savedInstanceState);   

//  arviewer.arurl();  
setContentView(R.layout.main);  
RelativeLayout preview = (RelativeLayout)findViewById(R.id.phonegap_container);  

// Create an instance of Camera  
//mCamera = getCameraInstance();  
if(!getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)) {  
Toast.makeText(this, "No Camera on this Device", Toast.LENGTH_LONG).show();  
} else {  
cameraID = findBackFacingCamera();  
if(cameraID == 0){  
    mCamera = Camera.open(cameraID);  
} else {  
    Toast.makeText(this, "No Back Camera Found", Toast.LENGTH_LONG).show();  
}  

}  

// Create our Preview view and set it as the content of our activity.  
mPreview = new CameraSurfacePreview(this, mCamera);  
preview.setBackgroundColor(Color.TRANSPARENT);  
preview.addView(mPreview);  
preview.setFocusable(false);  
/*  FrameLayout preview = (FrameLayout) findViewById(R.id.phonegap_container);  
preview.setBackgroundColor(Color.TRANSPARENT);  
preview.addView(mPreview);  
preview.setFocusable(false); */  

}  

private int findBackFacingCamera() {  
int cameraId = -1;  
// Search for the Back facing camera  
int numberOfCameras = Camera.getNumberOfCameras();  
for (int i = 0; i < numberOfCameras; i++) {  
CameraInfo info = new CameraInfo();  
Camera.getCameraInfo(i, info);  
if (info.facing == CameraInfo.CAMERA_FACING_BACK) {  
Log.d(tag, "Camera found, cameraID =" +i);  
cameraId = i;  
break;  
}  
}  
return cameraId;  
}  
}  

コード カメラを実行した後、プレビュー モードで開いていますが、POI を表示する webview データが表示されません。戻るキーを押すと、Webview データが表示されます。これを解決するには、次のコードを onCreate 関数に追加する必要があると思いますが、このコードをどのように追加しますか? 追加しようとすると、appView が宣言されていないことがわかります。

View html = (View)appView.getParent();  
html.setBackgroundColor(Color.TRANSPARENT);  
view.addView(html, new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));  
appView.setBackgroundColor(Color.TRANSPARENT);  
// Avoid the focus on click events  
appView.setFocusable(false);  
4

1 に答える 1

0

プロジェクトには wikitude SDK を使用することをお勧めします。

http://www.wikitude.com/products/wikitude-sdk/

于 2014-03-09T16:31:25.440 に答える