2013年3月15日金曜日

Xamarin で AndroidManifest.xml が見当たらないんだけど、どうするの?

Xamarin で AndroidManifest.xml が無いんだけど、パーミッションとかどうしたらいいんだろう? と思ったのですが、ソリューションの設定で AndroidManifest.xml ファイルを生成することが出来ました。

以下、その手順。

[プロジェクト] - [<ソリューション名>のオプション] を開きます。

[プロジェクトオプション] の [ビルド] - [Android Application] を選ぶと、右側に「このプロジェクトには Android Manifest が無いよ」と表示されるので [Add Android manifest] ボタンを押します。

ボタンを押すとこんな感じで AndroidManifest.xml を編集できます。

GPS を使うなら [ACCESS_FINE_LOCATION] を選んでチェックを入れるだけです。

Eclipse では、プロジェクトを作成する時に指定する OS (API) のバージョンも、ここで指定出来ます。


[OK] ボタンを押すと [Properties] フォルダの下に AndroidManifest.xml が作成されます。
AndroidManifest.xml の中身。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="test0314.test0314">
    <uses-sdk android:minSdkVersion="7" />
    <application android:label="test0314"></application>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>




パーミッションの設定は、AndroidManifest.xml を作成する以外にも [Properties] - [Assemblyinfo.cs] ファイルに下のように追記して設定することもできます。


using Android; // Manifest のため追加
[assembly: UsesPermission(Manifest.Permission.AccessFineLocation)] // GPS アクセス許可