需求:谷歌拼音输入法首次使用会弹出以下提示,为了提高用户体验,在系统层屏蔽此弹窗。
这里以谷歌输入法首次使用为例:
分析:系统dialog的弹出都是集成Dialog.java
所以我们先找到dialog源码的位置:frameworks\base\core\java\android\app\Dialog.java
根本id找到空间,然后根据文本定位dialog,然后屏蔽
onStart();
mDecor = mWindow.getDecorView();
//新增start
int id = mContext.getResources().getIdentifier("com.google.android.inputmethod.pinyin:id/body", "id", null);
TextView textView= (TextView)mDecor.findViewById(id);
if(textView!=null){
String HINTTEXT= "为了方便您输入联系人姓名,谷歌拼音输入法将会访问您的联系人列表以获取姓名。另外,开启词典更新功能将需要用到网络连接。我们保证这些权限的使用是透明和安全的,不会将其用于未告知您的地方。";
Log.d("HINTTEXT",textView.getText().toString());
if(TextUtils.equals(textView.getText().toString(),HINTTEXT))return;
}
//新增end
if (mActionBar == null && mWindow.hasFeature(Window.FEATURE_ACTION_BAR)) {
final ApplicationInfo info = mContext.getApplicationInfo();
mWindow.setDefaultIcon(info.icon);
mWindow.setDefaultLogo(info.logo);
mActionBar = new WindowDecorActionBar(this);
}