相机插件的前置相机在Ionic 3中无法正常工作

时间:2018-08-21 10:39:08

标签: angularjs typescript cordova ionic-framework ionic3

Ionic 3摄像机访问代码

void loadUser() {
    Uri dataUri = Uri.withAppendedPath(ContactsContract.Profile.CONTENT_URI, ContactsContract.Contacts.Data.CONTENT_DIRECTORY);
    String[] selection = new String[]
            {
                    ContactsContract.Data.RAW_CONTACT_ID,
                    ContactsContract.Data._ID,
                    ContactsContract.Profile.DISPLAY_NAME,
                    ContactsContract.Profile.PHOTO_URI,
                    ContactsContract.Profile.LOOKUP_KEY,
                    ContactsContract.Data.DATA_VERSION
            };
    Cursor cursor = MainApp.get().getContentResolver().query(
            dataUri,
            selection,
            null,
            null,
            null);

    if (cursor != null) {

        L.d("MY PROFILE - cursor size: %d", cursor.getCount());

        int rawId = cursor.getColumnIndex(ContactsContract.Data.RAW_CONTACT_ID);
        int id = cursor.getColumnIndex(ContactsContract.Data._ID);
        int name = cursor.getColumnIndex(ContactsContract.Profile.DISPLAY_NAME);
        int photoUri = cursor.getColumnIndex(ContactsContract.Profile.PHOTO_URI);
        int lookupKey = cursor.getColumnIndex(ContactsContract.Profile.LOOKUP_KEY);
        int version = cursor.getColumnIndex(ContactsContract.Data.DATA_VERSION);

        try {
            if (cursor.moveToFirst()) {
                long phRawId = cursor.getLong(rawId);
                int phId = cursor.getInt(id);
                String phName = cursor.getString(name);
                String phImageUri = cursor.getString(photoUri);
                String phLookupKey = cursor.getString(lookupKey);
                int phVersion = cursor.getInt(version);
                boolean phExists = true;

                L.d("MY PROFILE - RawID: %d, ID: %d", phRawId, phId);

                // ... profile successfully retrieved
            } else {
                L.d("MY PROFILE - cursor is EMPTY");
            }
        } finally {
            cursor.close();
        }
    } else {
        L.d("MY PROFILE - cursor = NULL");
    }
}

}

**虽然使用后置摄像头可以正常工作,但是当我们更改CameraOptions的cameraDirection但仍打开后置摄像头时**

2 个答案:

答案 0 :(得分:0)

您可以直接设置 cameraDirection:1

答案 1 :(得分:0)

这是一个已报告给Ionic 3团队的错误。截至目前,尚无办法使前置摄像头在此问题上获得点击。 在插件的说明中,他们说

  

任何cameraDirection值都会生成一张背面照片。

作为解决方法,您可以作为用户单击屏幕左侧的按钮来翻转相机。