AccountAuthParams authParams =new AccountAuthParamsHelper(AccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM).setAccessToken().createParams();AccountAuthService accountAuthService =AccountAuthManager.getService(this, authParams);startActivityForResult(accountAuthService.getSignInIntent(), 1111);

文章插图
@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == 1111) {Task<AuthAccount> authAccountTask = AccountAuthManager.parseAuthResultFromIntent(data);if (authAccountTask.isSuccessful()) {AuthAccount authAccount = authAccountTask.getResult();sharedPreferenceUtilClass = SharedPreferenceUtilClass.getInstance(LoginAuthenticationActivity.this);sharedPreferenceUtilClass.saveData(Constants.USER_EMAIL, authAccount.getEmail());sharedPreferenceUtilClass.saveData(Constants.USER_NAME, authAccount.getDisplayName());sharedPreferenceUtilClass.saveData(Constants.USER_PROFILE_IMAGE, authAccount.getAvatarUri().toString());Log.i("TAG", "accessToken:" + authAccount.getAccessToken());useTokenToAuthorize(authAccount.getAccessToken());}}}

文章插图
结果

文章插图
?
7、集成图形引擎服务华为图形引擎服务是一个高性能、低功耗、轻量级渲染引擎 , 提供高级描述性API , 便于编辑、操作和渲染3D资源 。
应用集成图形引擎服务 , 使用ARView渲染普通AR场景 。
Xml
在布局中添加图形引擎服务的ARView 。
<com.huawei.hms.scene.sdk.ARViewandroid:id="@+id/ar_view"android:layout_width="match_parent"android:layout_height="match_parent"></com.huawei.hms.scene.sdk.ARView>

文章插图
Java
检查ARPermission , 按需请求权限 。并初始化图形引擎服务 。
if (!PermissionUtil.checkARPermissions(ViewProduct.this)) {PermissionUtil.requestARPermissions(ViewProduct.this);}if (!InitializeHelper.getInstance().isInitialized()) {Toast.makeText(ViewProduct.this, "SceneKit initializing", Toast.LENGTH_SHORT).show();InitializeHelper.getInstance().initialize(ViewProduct.this);return;}

文章插图
开通ARView平面展示 。
arView.enablePlaneDisplay(true);

文章插图
加载素材 。
if (testModel != null) {return;}Model.builder().setUri(Uri.parse("Furniture/"+threeDFileName)).load(getApplicationContext(), new Resource.OnLoadEventListener<Model>() {@Overridepublic void onLoaded(Model model) {Toast.makeText(TryProduct.this, "load success.", Toast.LENGTH_SHORT).show();testModel = model;}@Overridepublic void onException(Exception exception) {Toast.makeText(TryProduct.this, exception.getMessage(), Toast.LENGTH_SHORT).show();}});

文章插图
添加相机和灯光组件 。
Node lightNode = arView.getScene().createNode();lightNode.addComponent(Light.descriptor()).setType(Light.Type.DIRECTIONAL).setIntensity(30.f);

经验总结扩展阅读
- 穹批是什么意思
- 一 Linux--多线程
- 燃气灶有火花但打不燃
- 微信账号可以登录QQ是真的吗
- 知天命是多少岁 古代年龄称谓
- 正常家庭一天用多少度电
- 普忒头是什么梗
- 中国联通为什么要混改 之后会有什么变化
- 接化发bgm是什么意思网络用语
- B站寂寞是什么意思