質問: Settings.Secure.getString(this.getContentResolver(), Settings.System.ANDROID_ID); Log.d("Rssi_0_Maj_Min_Dis_Rs", "$deviceId,$maxName0,$maxMajor0,$maxMinor0,$maxDistance0,$maxRssi0") Log.d("Rssi_1_Maj_Min_Dis_Rs", "$deviceId,$maxName1,$maxMajor1,$maxMinor1,$maxDistance1,$maxRssi1") Log.d("Rssi_2_Maj_Min_Dis_Rs", "$deviceId,$maxName2,$maxMajor2,$maxMinor2,$maxDistance2,$maxRssi2") // メインスレッドで実装(追加) handler.post { // 空の引数を渡して、Viewの更新 //***割愛します****// ) } // Viewの更新 viewUpdate( //***割愛します****// ) } } } private fun viewUpdate( //***割愛します****// ) { // Viewの取得 //***割愛します****// } /************************************************** * メソッド **************************************************/ // トースト表示のメソッド //***割愛します****// // パーミッションの許可チェック //***割愛します****// } ``` 【実現したいこと】 下記の順番で処理を実行させたい。 1.アプリ起動。 2.ドロップダウンリストにて選択。 3.[START]ボタンクリックで電波受信開始。 4.任意の時間、電波収集 5.[STOP]ボタンクリックで受信終了。 今は、アプリ起動と同時に電波受信が始まります。 実際そのようなコードになっているのだと思いますが、 上記2、3、5の処理をソース中のどこに入れたら良いのかがわかりません。 ボタンのリスナー(まだコードに書いていませんが)を、 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) の下に書いたりしましたが、異常終了してしまいました。 また、//----------------//で挟みましたが、 spinnerのリスナーの場所もそこが正しいのでしょうか。 以上になります。 長々とした質問となり申し訳ございません。 ご教示のほどよろしくお願いいたします。
回答: altbeacon の使い方を知らないので失礼しますが, ご質問の内容はビーコンと直接関係無さそうに思います. まずビーコンに関する処理の実装を別クラスとしておいてダミーを用意し, 画面関係を作られては如何でしょうか. それによってコード量が減少し動作する状態でのご提示を頂けるようになれば, 回答も得やすくなるものと考えます. 追記・修正依頼と回答が逆になってしまいました. 失礼しました. 一般的にはリスナーの登録などは onCreate 内で行われると思います. この場合のスピナーやボタンのリスナーの登録も, 同様かと思います. しかし, ボタンのリスナーを登録したことによる異常終了に関しましては, コードがなければ判断できません. > > 今は、アプリ起動と同時に電波受信が始まります。 > > > 実際そのようなコードになっております. Activity のライフサイクルについてお調べになると良いかと思います.