Android之间在在局域网下互传消息,咱就不用走云服务器了吧,让俩安卓设备,自己传呗
方式1 通过在安卓设备上搭建Web服务器接收数据,可参考
Android使用AndServer在安卓设备上搭建服务端(Java)(Kotlin)两种写法
方式2 本文章,搭建Socket服务器,接收数据,发送TCP
此类文章网上一大堆,不多做讲解,直接上代码,自行参考

清单文件中添加权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
MainActivity
class MainActivity : AppCompatActivity() {
var mBinding: ActivityMainBinding? = null
var timer: Timer? = null
var mSocket: Socket? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
this.window.statusBarColor = this.resources.getColor(R.color.white)
this.window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_main)
requestPermission()
mBinding!!.tv1.setOnClickListener {
val intent = Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS)
startActivity(intent)
}
}
override fun onResume() {
super.onResume()
if (mSocket != null){
mSocket!!.close()
mSocket = null
}
initServer()
//定时器
if (timer != null){
timer!!.cancel()
timer = null
}
timer = Timer()
val timerTask: TimerTask = object : TimerTask() {
override fun run() {
runOnUiThread {
//每次刷新再次操作
//加个定时器,动态获取ip地址
mBinding!!.tv1.text = "本机IP:${getLocalIpAddress()},端口号: 8020"
}
}
}
timer?.schedule(timerTask, 0, 1000
局域网内Android设备直连通信

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



