有时,应用程序需要动态运行,例如自动从 更新内容的后台。 如何实现一个开机自动运行的应用程序? 写这篇文章的时候,我觉得高焕堂先生用“不要给我打电话,我给你回电话!”来概括这个框架,真是说到了点子上。 明白了这句话的意思,很多在平台上实现一些东西的相关问题就可以轻松解决。
使用场景:开机后自动运行并显示“Hello.I!”字样将显示在屏幕上。
背景知识:启动时,会发出一个内容为D的广播,其字符串常量表示为...,只需在程序中“捕获”这条消息,然后重新启动即可。 请记住,框架说:不要给我打电话,我会给你回电话。 我们要做的就是做好接收这个消息的准备,而实现的方法就是去落实。
代码分析:
1.:.Java
package com.ghstudio.BootStartDemo; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class SayHello extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello. I started!"); setContentView(tv); } }
这段代码非常简单。 当它启动时,它会创建一条消息并用它来显示“Hello.I!”字样。
2.接收广播消息:r.java
package com.ghstudio.BootStartDemo; import android.content.BroadcastReceiver; import android.content.Conhttp://www.cppcns.comtext; import android.content.Intent;rsbrdAZ public class BootBroadcastReceiver extends BroadcastReceiver { static final String ACTION = "android.intent.action.BOOT_COMPLETED"; @Override public void onRecpythoneive(Context context, Intent intent) { if (intent.getAction().equals(ACTION)){ Intent sayHelloIntent=new Intent(context,SayHello.class); sayHelloIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(sayHelloIntent); } } }
该类派生自,在重写方法中,它检测接收到的是否匹配,如果匹配,则启动该匹配。
3. 配置:.XML
<?xml version="1.0" encoding="utf-8"?>
注意粗体部分。 该节点已向系统注册了一个子节点 - 表明它接收到...消息。 不要忘记配置..ED。
完成后编译apk包并安装到模拟器或者手机中。 关闭并再次打开。
对更多相关内容感兴趣的读者可以查看本站专题:《开发入门及进阶教程》、《查看技巧总结》、《布局技巧总结》、《调试技巧总结及常见问题解决方案》 》、《多媒体操作技巧总结(音频、视频、录音等)》、《基本组件使用总结》和《控件使用总结》
希望这篇文章对大家编程有所帮助。
本文标题:如何编程实现开机自动运行