using UnityEngine;
using System.Collections;
public class VibrateScript {
public static void vibrate(int msec) {
AndroidJavaObject unityPlayer = new AndroidJavaClass( "com.unity3d.player.UnityPlayer" );
AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>( "currentActivity" );
AndroidJavaObject vibrator = currentActivity.Call<AndroidJavaObject>("getSystemService", "vibrator");
vibrator.Call("vibrate", msec);
vibrator.Dispose();
currentActivity.Dispose();
unityPlayer.Dispose();
}
}
はい。別段特別なことはしてないですが。
こちらのスクリプトをPluginsフォルダ以下に配置してやれば準備OKです。
VibrateScript.vibrate(50)など、ms単位で指定して端末をバイブさせることができます。
1コールごとにnewが走るのが気持ち悪い場合は、public staticで
InitializeとDestroyを定義してやってください。
ちなみにAndroidのバイブレーションを使用する場合、パーミッションの設定が必要になります。
manifest.xmlを直接編集しても良いですが、他のアセットから置換される可能性もあるので、
上記スクリプトとは別にHandheld.Vibrate()を呼んでおくと、
Unityが自動でパーミッションを設定してくれるので便利です。