[RK3288][Android6.0] 调试笔记 --- ComponentName的使用
2017-08-21 15:59
351 查看
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
之前没太注意它的具体内容,最近遇到service后台运行的问题正好关注一下。
Android的应用程序都是基于组件来标识的。它由两部分组成:包名和类名
通过这两个参数,系统可以打开对应应用程序下的Activity或Service.
包名和类型的定义都在AndroidManifest.xml中,例如
packages/providers/MediaProvider/AndroidManifest.xml:
包名:
类名:
调用:
系统提供了ComponentName类来处理调用启动对应的类。
例子:
frameworks/base/media/java/android/media/MediaScannerConnection.java
注意:
1. 类名可以包含包名,也可以省略包名,以.开头
2. 启动的Activity或者Service如果不是入口Activity或者Service,那么一定要加上Android:exported=”true”
参考:
ComponentName
关于Android的组件名
关于ComponentName的使用
OS: Android 6.0
Kernel: 3.10.92
之前没太注意它的具体内容,最近遇到service后台运行的问题正好关注一下。
Android的应用程序都是基于组件来标识的。它由两部分组成:包名和类名
通过这两个参数,系统可以打开对应应用程序下的Activity或Service.
包名和类型的定义都在AndroidManifest.xml中,例如
packages/providers/MediaProvider/AndroidManifest.xml:
包名:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" //这就是包名 package="com.android.providers.media"
类名:
//类名是"MediaScannerService" ,是一个Service <service android:name="MediaScannerService" android:exported="true"> <intent-filter> <action android:name="android.media.IMediaScannerService" /> </intent-filter> </service>
调用:
系统提供了ComponentName类来处理调用启动对应的类。
例子:
frameworks/base/media/java/android/media/MediaScannerConnection.java
public void connect() { synchronized (this) { if (!mConnected) { Intent intent = new Intent(IMediaScannerService.class.getName()); intent.setComponent( new ComponentName("com.android.providers.media", "com.android.providers.media.MediaScannerService")); mContext.bindService(intent, this, Context.BIND_AUTO_CREATE); mConnected = true; } } }
注意:
1. 类名可以包含包名,也可以省略包名,以.开头
2. 启动的Activity或者Service如果不是入口Activity或者Service,那么一定要加上Android:exported=”true”
参考:
ComponentName
关于Android的组件名
关于ComponentName的使用
相关文章推荐
- [RK3288][Android6.0] 调试笔记 --- CPU使用的频率表
- [RK3288][Android6.0] 调试笔记 --- 静态库编译覆盖使用方法
- [RK3288][Android6.0] 调试笔记 --- 软硬键盘同时使用【转】
- [RK3288][Android6.0] 调试笔记 --- 软硬键盘同时使用
- [RK3288][Android6.0] 调试笔记 --- 使用竖屏软件后无法回到横屏状态
- [RK3288][Android6.0] 调试笔记 --- RT5640的ctl name列表
- [RK3288][Android6.0] 调试笔记 --- X264测试程序无法使用
- [RK3288][Android6.0] 调试笔记 --- 外网和内网同时使用
- [RK3288][Android6.0] 调试笔记 --- hwclock命令无法使用
- [RK3288][Android6.0] 调试笔记 --- 普通串口的添加
- [RK3288][Android6.0] 调试笔记 --- 移除锁屏功能
- [RK3288][Android6.0] 调试笔记 --- 修改boot.img后进入Recovery模式问题
- [RK3288][Android6.0] 调试笔记 --- ECHI上的USB Camera无法打开
- [RK3288][Android6.0] 调试笔记 --- 替换系统签名
- [RK3288][Android6.0] 调试笔记 --- user版本固件升级无法开机问题
- [RK3288][Android6.0] 调试笔记 --- Recovery模式下显示旋转180度
- [RK3288][Android6.0] 调试笔记 --- 调试串口的更换
- [RK3288][Android6.0] 调试笔记 --- 同时支持两颗USB UVC Camera
- [RK3288][Android6.0] 调试笔记 --- 同时支持多颗Camera打开的问题
- [RK3288][Android6.0] 调试笔记 --- user版本串口只有输出不能输入