`
yidongkaifa
  • 浏览: 4059669 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics