Android 系统禁止应用的某个弹框

文章分析了如何通过修改Dialog.java源码,查找特定ID的TextView并屏蔽谷歌拼音输入法首次运行时的提示对话框,以提升用户体验。主要步骤包括找到dialog源码,根据文本内容定位并阻止特定提示的显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:谷歌拼音输入法首次使用会弹出以下提示,为了提高用户体验,在系统层屏蔽此弹窗。

这里以谷歌输入法首次使用为例:

分析:系统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);
        }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值