Androidアプリ開発をしており、ソケット通信でデータを受信したらactivityを起動したいのですが、起動した画面が真っ白になります。コードはネットのものを映し、レイアウトファイルも存在するのですがなぜ真っ白なのでしょうか。原因わかる方教えてください...以下ソースコードです。
MyService.kt
package sechs.kanazawa import android.app.IntentService import android.app.Service import android.content.Intent import android.os.IBinder import android.util.Log import java.io.BufferedInputStream import java.io.BufferedReader import java.io.IOException import java.io.InputStreamReader import java.net.ServerSocket import java.net.Socket //サービス open class MyService : IntentService("MyService") { override fun onCreate() { super.onCreate() } override fun onHandleIntent(p0: Intent?) { var HOST = "192.168.11.15" var PORT = 45000 var socket: Socket? = null //ソケット var reader: BufferedReader? = null try { //serverへ接続 socket = Socket(HOST, PORT) //Messege取得オブジェクト reader = BufferedReader(InputStreamReader(socket.getInputStream())) Log.d("Client", "Try connect") //serverからのメッセージ受信 if (reader != null) { var message = reader.readLine() //緊急画面に遷移 var announce = Intent(baseContext, AlarmActivity::class.java) announce.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) announce.putExtra("Level", message) application.startActivity(announce) } } catch (e: IOException) { e.printStackTrace() } finally { if (reader != null) reader!!.close() if (socket != null) socket!!.close() } } }
AlarmActivity.kt
package sechs.kanazawa import android.media.MediaPlayer import android.os.Bundle import android.os.PersistableBundle import android.support.v7.app.AppCompatActivity import android.util.Log import kotlinx.android.synthetic.main.alarm.* open class AlarmActivity : AppCompatActivity(){ override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.alarm) Log.d("Receive", "OK") var mp : MediaPlayer mp = MediaPlayer.create(this, R.raw.call) mp.start() levelText.text = intent.getStringExtra("Level") } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。