質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Bluetooth

Bluetoothとは短距離の間でデータを交換するための無線通信規格である。固定・モバイル両方のデバイスから、短波の電波送信を行うことで、高いセキュリティをもつパーソナルエリアネットワーク(PAN)を構築する。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

805閲覧

AltBeaconを使用してスマートフォンからビーコン情報の送信を行いたい。

Fx000000

総合スコア6

Bluetooth

Bluetoothとは短距離の間でデータを交換するための無線通信規格である。固定・モバイル両方のデバイスから、短波の電波送信を行うことで、高いセキュリティをもつパーソナルエリアネットワーク(PAN)を構築する。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/11/22 21:31

###前提・実現したいこと
AltBeaconを使用してスマートフォンからビーコン情報の送信を行いたい。

###発生している問題・エラーメッセージ
コード自体にエラーは出ないのですが、端末(Zenfone2/Android5.0)でデバッグを行うと

(自分のコードのエラー場所のみ抜粋)
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.username.blesender, PID: 20286
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.username.blesender/com.example.username.blesender.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object referencecom.android.internal.os.ZygoteInit.main(ZygoteInit.java:695)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
at com.example.username.blesender.MainActivity.<init>(MainActivity.java:21)

とのエラーが発生し強制終了してしまいます。

###該当のソースコード
package com.example.username.blesender;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import org.altbeacon.beacon.*;

import java.util.Arrays;

public class MainActivity extends AppCompatActivity {
private BeaconManager beaconManager;

Beacon beacon = new Beacon.Builder() .setId1("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6") .setId2("1") .setId3("2") .setManufacturer(0x0118) .setTxPower(-59) .build(); BeaconParser beaconParser = new BeaconParser() .setBeaconLayout("m:2-3=beac,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25"); BeaconTransmitter beaconTransmitter = new BeaconTransmitter(getApplicationContext(), beaconParser); //エラーが発生していると思われる行 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); beaconTransmitter.startAdvertising(beacon);//アプリ起動で自動的に送信、ボタンで送信なども実装しましたが同じエラー箇所は変わりませんでした。送信の確認はもうひとつの端末で確認予定でした。 }

}

###試したこと
コードは以下2つのURLを参考にしました。
https://qiita.com/gupuru/items/ae67e619832ca20c9f3f
http://altbeacon.github.io/android-beacon-library/samples.html

記述したコードのように最低限の機能だけ実装したり、Beaconの送信に対応しているかなども確認しました。

###補足情報(言語/FW/ツール等のバージョンなど)
Android Studio 3.0にて開発

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

getApplicationContextはActivityが適切なライフサイクルを経ないと使用できないため、フィールド変数の初期化には使用できません。
そのためgetApplicationContextをonCreateメソッド内で使用してください。

投稿2017/11/23 01:00

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Fx000000

2017/11/23 07:10

ありがとうございます!無事動作しビーコンの電波も発信されました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問