はじめに
Androidでバイブレーション機能を有効にしようとしたのですが、上手く動作しなかったので、Manifestファイルにパーミッションを自分で設定して、解決する事にしました。
パーミッションの設定方法
今回の方法を試したのは、下記のUnityバージョンです。
Version 2019.4.8 f1
内容を作成する
デフォルトで読み込まれるファイルを参考に設定していきます。
Unityのデフォルトで利用されるファイルは下記のパスに存在しています。
{Unity本体をインストールした場所}\2019.4.8f1\Editor\Data\PlaybackEngines\AndroidPlayer\Apk
内のUnityManifest.xml
の内容を確認します。
<!-- GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN-->
は不要なので削除します。
下記の☆の部分にパーミッションを設定します。
<?xml version="1.0" encoding="utf-8"?>
- <!-- GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN--> ここは削除
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
xmlns:tools="http://schemas.android.com/tools">
☆追加したい権限などをここに追加する。
<application>
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:theme="@style/UnityThemeSelector">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
</application>
</manifest>
所定の場所に配置
プロジェクトフォルダ配下のAndroidフォルダにAndroidManifest.xml
を作成します。
{プロジェクトのフォルダ}\Assets\Plugins\Android\AndroidManifest.xml
出力内容の確認
プロジェクト配下の下記のパスに作成されたAndroidManifest.xml
を確認します。
{プロジェクトのフォルダ}\Temp\gradleOut\launcher\src\main\AndroidManifest.xml
内容を確認し、設定した権限が正常に含まれていれば、問題ありません。