接着上次学习broadcast的地方学习,后面接着是一个对于广播的实践
是一个实现强制下线的功能,开头用的一些代码不太熟悉,是activity那一章的。所以就回去看了一下activity的相关内容,
发现里面的内容也是写的挺好的啊!相见恨晚!
上午从沙河过来,已经都10点了,所以就只看了显式Intent和隐式Intent
P42
1 显式Intent
Intent是意图,在启动activity里面要用。
调用startactivity方法需要传一个intent
需要new一个intent Intent intent=new intent(mainactivity.this,secondactivity.class)
然后startactivity(intent)
这就是简单的显式启动,直接指明从哪个mainactivity 活动,启动到另外secondactivity那个活动
2 隐式Intent
在new Intent的时候,传入的是一个字符串,action
Intent intent=new intent(“com.example.sss.activitytest.MY_ACTION”);
需要加一个category
intent.addcategory(“com.example.sss.activitytest.MY_CATEGORY”);
需要在manifest里面注册一下
在activity标签里面加 一个action还要加一个category
<intent-filter >
<action andriod:name="“com.example.sss.activitytest.ACTION">
<category android:name="“com.example.sss.activitytest.CATEGORY”">
<intent-filter>
才能运行
但是,实际情况运行额时候,出了个问题。书上举了一个不加自定义category情况报异常的情况,我这里加了自己的category
也出了一样的异常,程序没有崩溃,但是会重新启动到开始页面。估计是什么保护的机制吧。
后来在注册的时候加上了书上的代码中的
<action android:name="“android.intent.category.DEFAULT">
就好了
不知道,我估计是对于category 有一个初始化的过程吧。。。。所以必须要加这个default
隐式Intent种类还有点多,不过通过这一章,我感觉明白了许多。不像刚开始的时候,只会照着敲代码。现在多少还是懂点为什么要这样敲