android如何使得电阻屏在第一次开机时自动叫起屏幕校准程序
2014-02-26 00:39
591 查看
原文:http://blog.csdn.net/sergeycao/article/details/8879048
Android系统中有一个Provision程序,只会在第一次开机时运行一次,它会将 Settings.Secure.DEVICE_PROVISIONED 的值设置为1,随后就把自己disable掉 ,那么我们可以在此App被disable掉之前,做一些动作,可以达到第一次开机运行程序的效果,例如开机第一次自动启动屏幕校准程序,改动如下:
在 alps/packages/apps/Provision/src/com/android/provision/DefaultActivity.java 文件中,
先导入 import android.content.Intent;
在 onCreate 方法的最后两条语句之前,加上如下代码:
......
//add start
this.getWindow().setType(WindowManager.LayoutParams.TYPE_TOP_MOST); //
为了防止系统弹出的 Dialog
挡住当前校准界面 ,
设定该 Activity
在最上方不被盖住
startActivity(new Intent("com.mediatek.app.touchpanel.start"));
//add end
ComponentName name = new ComponentName(this, DefaultActivity.class);
pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
// terminate the activity.
finish();
......
然后,在 alps/mediatek/source/packages/TouchScreenCalibrator/AndroidManifest.xml 文件中,在Calibrator的activity属性中,添加一个intent-filter
<activity android:name=".Calibrator"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.mediatek.app.touchpanel.start" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Android系统中有一个Provision程序,只会在第一次开机时运行一次,它会将 Settings.Secure.DEVICE_PROVISIONED 的值设置为1,随后就把自己disable掉 ,那么我们可以在此App被disable掉之前,做一些动作,可以达到第一次开机运行程序的效果,例如开机第一次自动启动屏幕校准程序,改动如下:
在 alps/packages/apps/Provision/src/com/android/provision/DefaultActivity.java 文件中,
先导入 import android.content.Intent;
在 onCreate 方法的最后两条语句之前,加上如下代码:
......
//add start
this.getWindow().setType(WindowManager.LayoutParams.TYPE_TOP_MOST); //
为了防止系统弹出的 Dialog
挡住当前校准界面 ,
设定该 Activity
在最上方不被盖住
startActivity(new Intent("com.mediatek.app.touchpanel.start"));
//add end
ComponentName name = new ComponentName(this, DefaultActivity.class);
pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
// terminate the activity.
finish();
......
然后,在 alps/mediatek/source/packages/TouchScreenCalibrator/AndroidManifest.xml 文件中,在Calibrator的activity属性中,添加一个intent-filter
<activity android:name=".Calibrator"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.mediatek.app.touchpanel.start" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
相关文章推荐
- android资料下载地址汇总
- 【Android】Android性能测试之MAT的使用
- Android Activity task 相关属性
- Android学习总结之代码的基本特征
- Android Memory/Resource Leak总结
- Android学习小Demo(10)ToDoList的加强版
- Robolectric进行Android单元测试
- Android 读取 AndroidManifest中的数据
- Android开发-03-资源的制作
- 【Android】Android性能测试之DDMS的使用
- android端与服务器端的通信交互
- Android使用LayoutInflator遇到的Button无触发事件问题
- android开发学习---基础知识学习、如何导入已有项目和开发一个电话拨号器
- Android Ormlite 学习笔记2 -- 主外键关系
- Android应用源码安卓局域网飞鸽传输项目
- Android中的回调Callback
- Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现) .
- Android中SimpleAdapter,ArrayAdapter和BaseAdapter详解
- Android中的消息推送
- Android JNI知识简介