サルでもわかるWEBプログラミング

フリーソフトのみでホームページ作成

ユーザ用ツール

サイト用ツール


z_blog:2019:190828_unity_gps


差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
z_blog:2019:190828_unity_gps [2019/08/28] – [見出し] adash333z_blog:2019:190828_unity_gps [2019/08/28] (現在) – [GPS権限許可のダイアログ表示(1) UnityAndroidRuntimePermissionsアセットの利用] adash333
行 28: 行 28:
 ===== GPS権限許可のダイアログ表示(1) UnityAndroidRuntimePermissionsアセットの利用 ===== ===== GPS権限許可のダイアログ表示(1) UnityAndroidRuntimePermissionsアセットの利用 =====
  
-UnityAndroidRuntimePermissionsアセットを利用する方法があるそうです。+UnityAndroidRuntimePermissionsアセットを利用する方法があるそうです。(未確認)
  
   -自分のUnityアプリに、https://assetstore.unity.com/packages/tools/integration/android-runtime-permissions-117803 のアセットをインストール   -自分のUnityアプリに、https://assetstore.unity.com/packages/tools/integration/android-runtime-permissions-117803 のアセットをインストール
   -UnityのProjectタブの中に、Plugins/Android/フォルダを作成する   -UnityのProjectタブの中に、Plugins/Android/フォルダを作成する
   -(Unity のインストール先)\Editor\Data\PlaybackEngines\AndroidPlayer\Apk\AndroidManifest.xmlの内容(AndroidManifest.xml)を、上記フォルダにコピーする   -(Unity のインストール先)\Editor\Data\PlaybackEngines\AndroidPlayer\Apk\AndroidManifest.xmlの内容(AndroidManifest.xml)を、上記フォルダにコピーする
-  -AndroidManifest.xml +  -AndroidManifest.xmlの<manifest>...</manifest>の間に、<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">を追加する 
- +  -UnityでEmpty Objectを作成し、GameDirectorという名前に変更する 
 +  -Unityで新規C#Scriptを作成してGameDirectorという名前に変更し、上記のGameDirectorオブジェクトにアタッチする 
 +  -GameDirector.csのvoid Start(){}の中に、以下を記載すると、ゲーム起動時にGPSデータ接続の可否をプレイヤーが選択できるようになる
  
 +<code>
 +AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission( "android.permission.WRITE_EXTERNAL_STORAGE" );
 +    if( result == AndroidRuntimePermissions.Permission.Granted )
 + Debug.Log( "We have permission to access external storage!" );
 +    else
 + Debug.Log( "Permission state: " + result );
 +</code>
  
 https://forum.unity.com/threads/open-source-androidruntimepermissions-manage-runtime-permissions-synchronously-on-android-m.528833/ https://forum.unity.com/threads/open-source-androidruntimepermissions-manage-runtime-permissions-synchronously-on-android-m.528833/
 [Open Source] AndroidRuntimePermissions - manage runtime permissions "synchronously" on Android M+ [Open Source] AndroidRuntimePermissions - manage runtime permissions "synchronously" on Android M+
- 
  
 https://github.com/yasirkula/UnityAndroidRuntimePermissions https://github.com/yasirkula/UnityAndroidRuntimePermissions
 +
 +
 +
 +<manifest>...</manifest>:
 +
 +<uses-permission android:name="android.permission.RECORD_AUDIO">
 +
 +To write data on external storage, you need the android.permission.WRITE_EXTERNAL_STORAGE permission.
 +
 +https://qiita.com/kingyo222/items/404e8645821e54c35b41
 +@kingyo222
 +2019年05月07日に投稿
 +Unity:アセット(Asset)のインポートの方法(5種類!?)
 +
 +
  
 ==== AndroidManifest.xmlについて ==== ==== AndroidManifest.xmlについて ====
行 49: 行 71:
 【Unity】デフォルトの AndroidManifest.xml が保存されている場所 【Unity】デフォルトの AndroidManifest.xml が保存されている場所
  
-(引用ここら)+(引用ここら)
 【Unity のインストール先】\Editor\Data\PlaybackEngines\AndroidPlayer\Apk 【Unity のインストール先】\Editor\Data\PlaybackEngines\AndroidPlayer\Apk
 (引用ここまで) (引用ここまで)
行 91: 行 113:
 Android - AndroidManifest.xml編集する Android - AndroidManifest.xml編集する
 bokkuri_orz bokkuri_orz 2014.05.31 20:54:51 bokkuri_orz bokkuri_orz 2014.05.31 20:54:51
 +
 +https://developer.android.com/training/permissions/requesting.html
 +Android Developers
 +Docs
 +ガイド
 +アプリの権限をリクエストする
 +
 +https://qiita.com/nein37/items/da991b02441fa4da5432
 +@nein37
 +2014年08月26日に投稿
 +<uses-permission>設定の罠
 +
 +https://so-zou.jp/mobile-app/tech/android/manifest/uses-permission.htm
 +<uses-permission>要素
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  
  
 ===== GPS権限許可のダイアログ表示(2) android-support-v4.jarの利用 ===== ===== GPS権限許可のダイアログ表示(2) android-support-v4.jarの利用 =====
 +
 +https://teratail.com/questions/182750
 +Unityで、Androidの「現在地の権限」を付与したい
 +nagi2011
 +投稿 2019/04/03
 +
 +によると、以下のようにするとできるそうです。(未確認)
 +
 +  -Assets\Plugins\Android配下のAndroidManifest.xmlに、以下のパーミッションを設定する
 +<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 +<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
 +  -android-support-v4.jarをダウンロードする
 +  -Plugins/Androidフォルダを作り、そこにandroid-support-v4.jarを配置する
 +  -UnityでEmpty Objectを作成し、GameDirectorという名前に変更する
 +  -Unityで新規C#Scriptを作成してGameDirectorという名前に変更し、上記のGameDirectorオブジェクトにアタッチする
 +  -GameDirector.csの中に、以下を記載すると、ゲーム起動時にGPSデータ接続の可否をプレイヤーが選択できるようになる
 +
 +<code>
 +        static bool CheckPermission (string permission)
 +        {
 +            using (var unityPlayer = new AndroidJavaClass ("com.unity3d.player.UnityPlayer"))
 +            using (var activity = unityPlayer.GetStatic<AndroidJavaObject> ("currentActivity"))
 +            using (var compat = new AndroidJavaClass ("android.support.v4.app.ActivityCompat")) {
 +                var check = compat.CallStatic<int> ("checkSelfPermission", activity, permission);
 +
 +                if (check == 0)  return true;
 +
 +                int REQUEST_CODE = 1;
 +                compat.CallStatic ("requestPermissions", activity, new String[] {
 +                    permission
 +                }, REQUEST_CODE);
 +
 +                //再チェック
 +                check = compat.CallStatic<int> ("checkSelfPermission", activity, permission);
 +                if (check == 0)  return true;
 +
 +                // "設定からパーミッションを許可してください。機能が使用できません。";
 +            }
 +            return false;
 +        }
 +        
 +void Start() {
 +    CheckPermission ("android.permission.ACCESS_FINE_LOCATION");
 +}
 +</code>
 +
  
  
行 117: 行 212:
 Plugins/Androidフォルダを作り、そこにandroid-support-v4.jarを置いておけば解決できます。 Plugins/Androidフォルダを作り、そこにandroid-support-v4.jarを置いておけば解決できます。
 (引用ここからまで) (引用ここからまで)
- 
-https://teratail.com/questions/182750 
-Unityで、Androidの「現在地の権限」を付与したい 
-C#Unity 
-nagi2011 
-投稿 2019/04/03 
  
 https://teratail.com/questions/203447 https://teratail.com/questions/203447


z_blog/2019/190828_unity_gps.1566963866.txt.gz · 最終更新: 2019/08/28 by adash333

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki