z_blog:2019:190828_unity_gps
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
z_blog:2019:190828_unity_gps [2019/08/28] – [GPS権限許可のダイアログ表示(1) UnityAndroidRuntimePermissionsアセットの利用] adash333 | z_blog:2019:190828_unity_gps [2019/08/28] (現在) – [GPS権限許可のダイアログ表示(1) UnityAndroidRuntimePermissionsアセットの利用] adash333 | ||
---|---|---|---|
行 28: | 行 28: | ||
===== GPS権限許可のダイアログ表示(1) UnityAndroidRuntimePermissionsアセットの利用 ===== | ===== GPS権限許可のダイアログ表示(1) UnityAndroidRuntimePermissionsアセットの利用 ===== | ||
- | UnityAndroidRuntimePermissionsアセットを利用する方法があるそうです。 | + | UnityAndroidRuntimePermissionsアセットを利用する方法があるそうです。(未確認) |
-自分のUnityアプリに、https:// | -自分のUnityアプリに、https:// | ||
行 34: | 行 34: | ||
-(Unity のインストール先)\Editor\Data\PlaybackEngines\AndroidPlayer\Apk\AndroidManifest.xmlの内容(AndroidManifest.xml)を、上記フォルダにコピーする | -(Unity のインストール先)\Editor\Data\PlaybackEngines\AndroidPlayer\Apk\AndroidManifest.xmlの内容(AndroidManifest.xml)を、上記フォルダにコピーする | ||
-AndroidManifest.xmlの< | -AndroidManifest.xmlの< | ||
- | -UnityでEmpty Objectを作成 | + | -UnityでEmpty Objectを作成し、GameDirectorという名前に変更する |
- | -Unityで新規C# | + | -Unityで新規C# |
- | -GameDirector.csのvoid Start(){}の中に、以下を記載すると、ゲーム起動時にGPSデータ接続の拒否をプレイヤーが選択できるようになる | + | -GameDirector.csのvoid Start(){}の中に、以下を記載すると、ゲーム起動時にGPSデータ接続の可否をプレイヤーが選択できるようになる |
< | < | ||
- | GameDirector | + | AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission( " |
+ | if( result == AndroidRuntimePermissions.Permission.Granted ) | ||
+ | Debug.Log( "We have permission to access external storage!" | ||
+ | else | ||
+ | Debug.Log( " | ||
</ | </ | ||
- | |||
- | |||
- | |||
- | |||
https:// | https:// | ||
行 60: | 行 59: | ||
To write data on external storage, you need the android.permission.WRITE_EXTERNAL_STORAGE permission. | To write data on external storage, you need the android.permission.WRITE_EXTERNAL_STORAGE permission. | ||
+ | https:// | ||
+ | @kingyo222 | ||
+ | 2019年05月07日に投稿 | ||
+ | Unity:アセット(Asset)のインポートの方法(5種類!?) | ||
行 68: | 行 71: | ||
【Unity】デフォルトの AndroidManifest.xml が保存されている場所 | 【Unity】デフォルトの AndroidManifest.xml が保存されている場所 | ||
- | (引用こここら) | + | (引用ここから) |
【Unity のインストール先】\Editor\Data\PlaybackEngines\AndroidPlayer\Apk | 【Unity のインストール先】\Editor\Data\PlaybackEngines\AndroidPlayer\Apk | ||
(引用ここまで) | (引用ここまで) | ||
行 141: | 行 144: | ||
===== GPS権限許可のダイアログ表示(2) android-support-v4.jarの利用 ===== | ===== GPS権限許可のダイアログ表示(2) android-support-v4.jarの利用 ===== | ||
+ | |||
+ | https:// | ||
+ | Unityで、Androidの「現在地の権限」を付与したい | ||
+ | nagi2011 | ||
+ | 投稿 2019/04/03 | ||
+ | |||
+ | によると、以下のようにするとできるそうです。(未確認) | ||
+ | |||
+ | -Assets\Plugins\Android配下のAndroidManifest.xmlに、以下のパーミッションを設定する | ||
+ | < | ||
+ | < | ||
+ | -android-support-v4.jarをダウンロードする | ||
+ | -Plugins/ | ||
+ | -UnityでEmpty Objectを作成し、GameDirectorという名前に変更する | ||
+ | -Unityで新規C# | ||
+ | -GameDirector.csの中に、以下を記載すると、ゲーム起動時にGPSデータ接続の可否をプレイヤーが選択できるようになる | ||
+ | |||
+ | < | ||
+ | static bool CheckPermission (string permission) | ||
+ | { | ||
+ | using (var unityPlayer = new AndroidJavaClass (" | ||
+ | using (var activity = unityPlayer.GetStatic< | ||
+ | using (var compat = new AndroidJavaClass (" | ||
+ | var check = compat.CallStatic< | ||
+ | |||
+ | if (check == 0) return true; | ||
+ | |||
+ | int REQUEST_CODE = 1; | ||
+ | compat.CallStatic (" | ||
+ | permission | ||
+ | }, REQUEST_CODE); | ||
+ | |||
+ | // | ||
+ | check = compat.CallStatic< | ||
+ | if (check == 0) return true; | ||
+ | |||
+ | // " | ||
+ | } | ||
+ | return false; | ||
+ | } | ||
+ | | ||
+ | void Start() { | ||
+ | CheckPermission (" | ||
+ | } | ||
+ | </ | ||
+ | |||
行 163: | 行 212: | ||
Plugins/ | Plugins/ | ||
(引用ここからまで) | (引用ここからまで) | ||
- | |||
- | https:// | ||
- | Unityで、Androidの「現在地の権限」を付与したい | ||
- | C#Unity | ||
- | nagi2011 | ||
- | 投稿 2019/04/03 | ||
https:// | https:// |
z_blog/2019/190828_unity_gps.1566965053.txt.gz · 最終更新: 2019/08/28 by adash333