你还记得 Android 应用怎么开发吗
吴小龙同学
读完需要
5分钟
速读仅需3分钟
不做 Android 应用开发好多年了,熟悉我的老朋友知道我是 12 年开始干了 6 年 Android 应用开发,18 年从 Android 应用转向 Android Framework 开发了,如今又是 6 年过去了,应组织需要上下打通,今年开始做 Android 驱动开发了。
如上图,从二三层干到了第五层,越来越底层,再干我可以干硬件了,哈哈。
近来要完成一个全新需求,大概是这样的:在设置留有两个开关,打开开关,调用驱动,驱动做相关逻辑处理。这里设置开关交互有些复杂,打开一个开关,得发个通知,告诉用户,这个开关将在 12 个小时后自动关闭。
这个需求是一个非常好的上下打通的案例,我当仁不让,给别人也不会,他们没有应用开发经验。
我首先要实现驱动部分,创建一个节点供上层调用,驱动部分实现较为顺利,echo 和 cat 调试没问题半天不到就完成了。
应用层分 UI 实现、开关逻辑、向驱动写节点,毕竟老夫还是有 Android 应用开发功底,UI 的实现不费吹灰之力,开关逻辑和向驱动写节点花了点时间,略有波折也完成了,遗留一个 Bug,发通知,可以点击这个通知再跳到这个设置页面。
这两天花时间去研究了下,关键代码如下:
public static final String EXTRA_SHOW_FRAGMENT = ":android:show_fragment";
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //添加启动外部应用的 Flag,不然会报错
intent.putExtra(EXTRA_SHOW_FRAGMENT,"com.android.settings.display.SettingsFragment");//要启动的 fragment
intent.putExtra(PreferenceActivity.EXTRA_NO_HEADERS,true);
intent.setClassName("com.android.settings","com.android.settings.SubSettings");//包名,要启动 fragment 所依赖的 Activity
getApplicationContext().startActivity(intent);
这个跳转要是放在以前做 Android 应用那会儿万不会如此,实现不是分分钟的事。
最后,这个需求没我还真不行,从上到下都是我一个人完成的,放眼整个行业又有多少人会,哈哈,都别叫醒我,让我吹牛……
评论