2013-07-01 1 views
2

Я пытаюсь создать PhoneGap плагин с помощью этого -AR Плагин для 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; 
} 
} 

После запуска камеры кода есть pening в режиме предварительного просмотра, но он не отображает данные веб-просмотра, которые отображают POI, когда я нажимаю клавишу «назад», а затем отображает данные веб-просмотра. Я думаю, что я должен добавить следующий код в свою функцию 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); 
+0

У кого-нибудь есть идеи? – webdev

ответ