美文网首页零基础学安卓编程
安卓开发入门教程-IntentService

安卓开发入门教程-IntentService

作者: 蓝不蓝编程 | 来源:发表于2020-11-04 15:25 被阅读0次

    什么是IntentService

    IntentService是为简化Service使用而生的.Service的执行默认是在主线程中,一般都需要另外再创建线程来执行任务,而使用IntentService就省去了自己创建线程的工作.

    创建IntentService

    1. 在工程目录中单击右键,选择“New>Service>Service(IntentService)”


    2. 在窗口中设置IntentService名称(其他设置保持默认即可)


    3. 创建后的IntentService比较繁杂,此处就不列出了.
    4. 查看AndroidManifest.xml文件,里面应该已经增加了如下Service配置.
    <manifest ...>
        <application ...>
            <service
                android:name=".MyIntentService"
                android:exported="false"></service>
          ...
        </application>
    </manifest>
    

    启动Service样例

    1. Service代码:MyIntentService.kt
    class MyIntentService : IntentService("MyService") {
        override fun onHandleIntent(intent: Intent?) {
            Log.d("MyService", "onHandleIntent")
            study()
        }
    
        private fun study() {
            for (index in 1..10) {
                Log.d("MyService", "我在学习,我在学习,没偷懒")
                Thread.sleep(2000)
            }
        }
    
        override fun onCreate() {
            Log.d("MyService", "onCreate")
            super.onCreate()
        }
    
        override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
            Log.d("MyService", "onStartCommand")
            return super.onStartCommand(intent, flags, startId)
        }
    
        override fun onDestroy() {
            Log.d("MyService", "onDestroy")
            super.onDestroy()
        }
    }
    
    1. 调用代码
    class MainActivity : AppCompatActivity() {
        private lateinit var serviceIntent: Intent
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
            //启动Service
            serviceIntent = Intent(this, MyIntentService::class.java)
            startService(serviceIntent)
        }
    
        override fun onDestroy() {
            super.onDestroy()
            //停止Service
            stopService(serviceIntent)
        }
    }
    

    完整源代码

    https://gitee.com/cxyzy1/AndroidIntentServiceDemo

    相关文章

      网友评论

        本文标题:安卓开发入门教程-IntentService

        本文链接:https://www.haomeiwen.com/subject/sjwbwhtx.html