隐式启动Activity:

1. 创建一个Activity子类---SubActivity

2. 在Android Manifest中添加如下:
        <activity android:name=".subActivity">            <intent-filter>                <action android:name="android.intent.action.view"/>     <category android:name="android.intent.category.liuwei"/>              </intent-filter>        </activity>

3.启动此Activity的代码:
        Intent intent=new Intent();        intent.setAction("android.intent.action.view");        intent.addCategory("android.intent.category.liuwei");        this.startActivity(intent);

运行程序,点击相应的按钮执行上面启动代码,抛出ActivityNotFoundException 异常。

4.解析:
因为 startActivity 会给itent 添加一个Category类别:android.intent.category.DEFAULT

在注册文件(manifest)中遍历时不仅要匹配 intent.setAction("android.intent.action.view");
intent.addCategory("android.intent.category.liuwei");中声明的的action和Catetory。还要匹配默认添加的Category:android.intent.category.DEFAULT

所以在manifest中需要如此声明:
        <activity android:name=".subActivity">            <intent-filter>                <action android:name="android.intent.action.view"/>                  <category android:name="android.intent.category.DEFAULT"/>                  <category android:name="android.intent.category.liuwei"/>              </intent-filter>        </activity>

更多相关文章

  1. 用Android代码实现自动打开USB调试
  2. android典型代码系列(一)------android调试
  3. Android 动画框架代码分析
  4. Android 7.0 app代码修改抓包
  5. android延续按两次返回退出程序(完整代码)
  6. Android 实现在Java代码中修改UI界面,并修改界面
  7. JS调用Java代码(Android)
  8. 【Android】Android Layout Binder——根据layout布局文件自动生
  9. Android应用程序进程启动过程的源代码分析(2)

随机推荐

  1. 输入一个数加上12的结果
  2. 太强了!这款轻量级的数据库中间件完美解决
  3. 更轻量级的 V8 引擎[每日前端夜话0xC8]
  4. JavaScript中的异步生成器函数[每日前端
  5. 编码与编程的区别是什么?[每日前端夜话0xC
  6. 太强了!这两款数据库中间件,完美解决 Sprin
  7. Spring Boot 项目中的三种多数据源方案,一
  8. 丢弃掉那些 BeanUtils 工具类吧,MapStruct
  9. 用 NodeJS 充分利用多核 CPU 的资源[每日
  10. IDEA + Spring Boot 的三种热加载方案,看