android如何使得电阻屏在第一次开机时自动叫起屏幕校准程序

原文: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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值