Как правильно выставить параметры намерения?

Я попытался создать намерение SceneView, в котором можно будет просмотреть 3d-модель.

   Intent sceneViewerIntent = new Intent(Intent.ACTION_VIEW);
    sceneViewerIntent.setData(Uri.parse("https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Avocado/glTF/Avocado.gltf"));
    sceneViewerIntent.setPackage("com.google.android.googlequicksearchbox");
    sceneViewerIntent.putExtra("mode","3d_only");
    mContext.startActivity(sceneViewerIntent);

Когда это намерение открывается, оно дает пользователю возможность просмотреть модель в вашей собственной среде, но я хочу отключить это и в соответствии с https://developers.google.com/ar/develop/java/scene-viewer#3d-or-ar вы должны быть возможность передать параметр под названием 'mode', который может иметь значение '3d_only', что должно препятствовать тому, чтобы пользователь мог просматривать модель в AR.

Я попытался передать это значение с помощью sceneViewerIntent.putExtra("mode","3d_only");, но это не сработало. Правильно ли я передаю информацию?


person Patrick Busser    schedule 22.03.2020    source источник


Ответы (1)


Вы никуда не отправляете никакой информации. "3d_only" должна быть какой-то переменной, иначе вы ничего не отправите. Кроме того, вы должны получить свой код на другом конце, выполнив String string = getIntent (). GetStringExtra ("mode");

person JMB    schedule 22.03.2020
comment
Но поскольку намерение - это представление действий и оно использует пакет, у меня нет доступа к этому другому концу кода, верно? - person Patrick Busser; 23.03.2020
comment
Добавьте остальную часть кода, чтобы я мог взглянуть на нее и увидеть, каков ваш режим на самом деле. - person JMB; 23.03.2020
comment
Это весь код. "Режим" взят из developers.google.com/ar/develop/ java / В поддерживаемых параметрах намерения они перечисляют параметр намерения 'mode', который может иметь значения '3d_only', 'ar_only', 'ar_preferred' и '3d_preferred' - person Patrick Busser; 23.03.2020