zoukankan      html  css  js  c++  java
  • Android学习第九天

    动态注册监听时间变化

    class MainActivity : AppCompatActivity() {
    lateinit var timeChangeReceiver: TimeChangeReceiver
    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    val intentFilter = IntentFilter()
    intentFilter.addAction("android.intent.action.TIME_TICK")
    timeChangeReceiver = TimeChangeReceiver()
    registerReceiver(timeChangeReceiver, intentFilter)
    }
    override fun onDestroy() {
    super.onDestroy()
    unregisterReceiver(timeChangeReceiver)
    }
    inner class TimeChangeReceiver : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
    Toast.makeText(context, "Time has changed", Toast.LENGTH_SHORT).show()
    }
    }
    }

    静态注册的代码示例如下:

    class BootCompleteReceiver : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
    Toast.makeText(context, "Boot Complete", Toast.LENGTH_LONG).show()
    }
    }

     另外,静态的BroadcastReceiver一定要在AndroidManifest.xml文件中注册才可以使用:

    manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.broadcasttest">
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <receiver
    android:name=".BootCompleteReceiver"
    android:enabled="true"
    android:exported="true">
    <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
    </receiver>
    </application>
    </manifest>

     

  • 相关阅读:
    FPGA学习之基本结构
    凸优化和机器学习
    第6篇如何访问pod
    吉日嘎拉DotNet.BusinessV4.2中的一处bug,及我的修复和扩展
    吉日嘎拉C#快速开发平台V4.0到V4.2升级记
    布隆过滤器简介及实现-----源自数学之美
    poj [1753]
    Zookeeper Hello World
    获取用户真实IP,php实现
    mysql中engine=innodb和engine=myisam的区别
  • 原文地址:https://www.cnblogs.com/yongyuandishen/p/14867331.html
Copyright © 2011-2022 走看看