Xamarin iOS, Android での位置情報、Bluetoothの有効化メモ

公開日: : Blog, Microsoft , ,

OSが勝手に出してくれたりくれなかったりのところを整理するためのメモ
諸事情によりサンプルはXamarin

BluetoothがOFFの場合

Android

マニフェストのBLUETOOTHが必要

ActionRequestEnableのインテントでやってくれる

ダイアログで許可を押すとBluetoothが有効化される。
メッセージは端末言語設定に依存するらしい。

iOS

CBCentralManagerインスタンス生成のタイミングでOFFであればダイアログが表示される。
端末言語設定に依存
設定押下で設定画面を起動

位置情報がOFFの場合

Android

KitKat未満であれば、android.location.GPS_ENABLED_CHANGE インテントでON/OFFの制御が出来たらしいが、今はユーザーへ設定を促す形になったらしい

メッセージは自前でローカライズする必要がある。
ActionLocationSourceSettingsインテントで位置情報の設定画面までいける

iOS

CLLocationManager.StartUpdatingLocationのタイミングでOFFであればダイアログが表示される。
端末言語設定に依存
設定押下で設定画面を起動

ただし、このダイアログはアプリインストール後一度しか表示されない。
なので、自分でダイアログを表示して設定アプリを起動するよう作りこむ必要があるらしい。
標準の地図アプリも初回はダイアログが2つ表示されて、以降は1つのみ表示されるので、そうなんだろう。

関連記事

[UWP]Releaseビルド時に、OData.ClientでSystem.Reflection.MissingMetadataExceptionが発生する

UWPでDebugビルドでは問題ないけど、Releaseビルドにすると、Microsoft.ODat

記事を読む

no image

Xamarin.FormsのAndroidでスプラッシュ画面

Xamarin.Formsでアプリを作成した時、iOSは起動時にLauncher.storyboar

記事を読む

no image

Xamarin.Forms で Opacityを設定したGridの表示・非表示を切り替えると、Androidで例外が発生する(Xamarin.Forms 2.3.3.193)

Xamarin 2.3.3.163 あたりから発生するようになったバグ情報があり 実行環境は 2.3

記事を読む

シマンテックインストール時に「指定されたパスが空です。」

Windows10 64bit, Symantec Endpoint Protection はおそら

記事を読む

no image

Xamarin.Forms で ScrollView の中に Map を配置したとき、Androidで地図のスクロールが出来なくなる

iOSは問題ないけど、AndroidはScrollViewにタッチを持ってかれてる感じ。 カスタ

記事を読む

no image

TFS2013ExpressでService Unavailable 503

【現象】 TFSつながらない。ブラウザからのホームもVisualStudioのチームエクスプローラ

記事を読む

【.NET Framework 4.6.1】MultiLineなTextBoxでCtrl+Aが使えない問題が解決(今更)

WinForms.NETなアプリケーションの標準TextBoxで、Multiline=Trueに設定

記事を読む

no image

Xamarin.Forms.Xaml名前空間のXAMLマークアップ拡張のメモ

MarkupExtensionsのメモ。あとで確認用 ArrayExtension Bindin

記事を読む

Xcode標準テンプレート

Xcodeで新規Projectを作成した時にテンプレートを選ぶことが出来る。 「Choose a

記事を読む

Visual Studio から Android SDK Managerが起動できない

Android SDKやエミュレーターイメージのアップデートを行いたい場合にAndroid SDK

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑