読者です 読者をやめる 読者になる 読者になる

夢とガラクタの集積場

落ちこぼれ三流エンジニアである管理人の夢想=『夢』と、潰えた夢=『ガラクタ』の集積場です。

AndroidエミュレータでNFCやSip等、各種新機能が使えるかの判定方法

ブログの移行やら何やらやっていたので、久々の更新になります。

最近Android2.3のAndroidエミュレータをちょこちょこ弄っていたのでその結果を残しておきます。
具体的にはAndroid2.3のAndroidエミュレータで、Android2.3の新機能が使えるかを試していました。

実際に使えるかを確認したコードは下記の通り。

NFC存在確認コード

public class NFCAvairableTestActivity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(); // ★NFC有効の場合、nfcAdapterが取得でき、isEnabledもtrueになる
		boolean isNfcExist = getPackageManager().hasSystemFeature(
				PackageManager.FEATURE_NFC); // ★NFCがハード的に存在している場合、trueになる

		if (nfcAdapter != null && nfcAdapter.isEnabled() == true) {
			Toast.makeText(this, "NFCを使用可能です。", Toast.LENGTH_LONG).show();
		} else if (isNfcExist == true) {
			Toast.makeText(this, "NFCを有効にしてください。", Toast.LENGTH_LONG).show();
		} else {
			Toast.makeText(this, "NFCは搭載されていません。", Toast.LENGTH_LONG).show();
		}
	}
}

Sip利用可能確認コード

public void initializeManager() {
	if (manager == null) {
		manager = SipManager.newInstance(this); // this=メインのActivity。Nullが返った場合Sipをサポートしていない
	}

	initializeLocalProfile();
}

確認結果

確認結果は、AndroidエミュレータではNFC/Sip両方使えないという結果になりました。
残念ながらAndroidエミュレータで出来ることは相当限られているようです。

NFCはまぁわかるんですが、Sip位はサポートしてくれてもいいと思うんですけどねぇ。。。