开发任务中,有一项需求是通过代码唤醒已经在电视虚拟机上配置好的apk应用,查询并请教前辈经验,采用Intent进行唤醒是一个很好的方法。例如需要增加一个OLED来唤醒已知的com.konka.oled.OLEDActivity。其代码如下
其中Intent.ACTION_MAIN指标识Activity为一个程序的开始
Intent.FLAG_ACTIVITY_NEW_TASK指首先会查找是否存在和被启动的Activity具有相同的亲和性的任务栈(即taskAffinity,注意同一个应用程序中的activity的亲和性相同),如果有,则直接把这个栈整体移动到前台,并保持栈中旧activity的顺序不变,然后被启动的Activity会被压入栈,如果没有,则新建一个栈来存放被启动的activity,注意,默认情况下同一个应用中的所有Activity拥有相同的关系(taskAffinity).
mContext指上下文代码
完成该开发任务。