メインコンテンツまでスキップ
バージョン: 1.0.1

Headworn起動モデルのアプリ権限

Headwornの起動モデルには、実行時にネイティブのAndroidのポップアップを処理するメカニズムが欠けています。その代わりに、コンテンツをARグラスに表示する前に、スマートフォンから許可を要求し、承認する必要があります。

このモデルでは、UnityアクティビティがARグラス上で実行されているため、Unityから要求された権限はスマートフォンには表示されません。 代わりに、グラスに操作できない形で表示されます。
権限は、スマートフォン上で実行されているアクティビティから要求する必要があるため、起動後に要求することはできません。 Snapdragon Spaces SDKは、アプリケーションの起動時に権限のチェックを自動的に開始します。

Manifestの権限の設定

開発者はUnityのガイドラインに従って、AndroidのManifestに権限を追加してください。

これを実現する最も簡単な方法は、Custom Main Manifestを使用し、必要な権限を追加することです。

alt text
例えば、バックグラウンドロケーションの権限を要求するには、Custom Manifestに以下を追加します。

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>

アプリケーションが開始されると、権限が要求されます。

権限の動作のカスタマイズ

ADVANCED

Snapdragon Spaces SDKには、Activities_Android_Project_X_XX_X.zipというアーカイブが含まれています。このアーカイブには、Snapdragon Spaces SDK Activitiesのプロジェクトのソースコードが含まれています。

通常、このプロジェクトは事前にコンパイルされ、Snapdragon Spacesのプロジェクトに自動的に含まれます。

TIP

以下の情報は、権限チェックの動作をよりコントロールしたい開発者にのみ関連するものです。AndroidのネイティブAPIとJavaコードに精通していることが不可欠です。

SplashScreenActivityは、OpenXRランタイムのアプリケーション (以下の項目を参照) とHeadwornのアプリケーションの両方の権限をチェックするPermissionHelperクラスを通して、権限のチェックを処理します。

参照

project\src\main\java\com\qualcomm\snapdragon\spaces\splashscreen\SplashScreenActivity.java
project\src\main\java\com\qualcomm\snapdragon\spaces\helpers\PermissionHelper.java

簡単にするために、SplashScreenActivityは、アプリケーションの起動時に、自動的にセキュリティ権限のチェックを開始するように設定されています。この動作を変更するために、プロジェクトを修正することが可能です。

  • 続行する前に、元のファイルのバックアップを取ってください。

  • gradle assembleまたは./gradle assembleコマンドを実行して、assembleタスクを実行し、変更したプロジェクトをビルドします。

  • Snapdragon Spaces SDKパッケージの次のファイルを、ビルドの結果と置き換えます:

SnapdragonSpacesPlugin\Packages\com.qualcomm.snapdragon.spaces\Runtime\Core\Android\SpacesActivities.aar
TIP

この方法はお勧めしません。Dual Render Fusionの起動モデルを使って権限を処理する方が、はるかにシンプルです!

Headwornの起動モデルによるOpenXRランタイムの権限

Snapdragon Spaces SDKを使用してアプリケーションをビルドする場合、Unityアプリケーションを正しく機能させるために、OpenXRランタイムのアプリケーションに特定の権限が付与されている必要があります。

  • ほとんどのSnapdragon Spacesの知覚機能を使用するには、OpenXRランタイムにカメラ権限を許可する必要があります。
  • OpenXRランタイム で、詳細設定の「他のアプリに重ねて表示」を許可する必要があります。

Headwornの起動モデルでは、Snapdragon Spaces ActivitiesプロジェクトのSplashScreenActivityが、OpenXRランタイムのアプリケーションがインストールされていること、およびこれらの権限のチェックが許可されていることを確認します。これらのチェックはすべて、アプリケーションの起動時に行われます。