为啥 sdk 版本检查不起作用?

Posted

技术标签:

【中文标题】为啥 sdk 版本检查不起作用?【英文标题】:Why doesn't sdk version check work?为什么 sdk 版本检查不起作用? 【发布时间】:2016-05-09 02:55:31 【问题描述】:

我有这个代码sn-p:

int currentapiVersion = android.os.Build.VERSION.SDK_INT;

            if (currentapiVersion < Build.VERSION_CODES.JELLY_BEAN) 
                Intent intent = new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
                ComponentName cName = new ComponentName("com.android.phone", "com.android.phone.Settings");
                intent.setComponent(cName);

             else 
                Intent intent = new Intent();
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.setAction(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS);
                context.startActivity(intent);
            

为什么这在我的安卓手机(api level 15)上不起作用,但是当我用下面的代码替换它时,它就可以正常工作了?

                Intent intent = new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
                ComponentName cName = new ComponentName("com.android.phone", "com.android.phone.Settings");
                intent.setComponent(cName);

【问题讨论】:

请解释“这不起作用”是什么意思。另请注意,您只在else 块中调用startActivity(),而不是if 块。 天哪!谢谢……太明显了,我看不到…… 【参考方案1】:

if (currentapiVersion

            Intent intent = new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);

            ComponentName cName = new ComponentName("com.android.phone", "com.android.phone.Settings");

            intent.setComponent(cName); 

            context.startActivity(intent);


         else 

            Intent intent = new Intent();

            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

         intent.setAction(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS);
            context.startActivity(intent);
        

【讨论】:

【参考方案2】:

你没有在 if Block 中调用 startActivity,这就是问题发生的原因

【讨论】:

以上是关于为啥 sdk 版本检查不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

检查数组是不是具有特定字符,为啥我的代码不起作用?

为啥用facebook登录不起作用? (除了检查网址,如何调试这个问题?)

为啥媒体查询在 Angular8 中不起作用

为啥这个 Check 约束不起作用?

成功安装vagrant后 vagrant up命令不起作用为啥

将目标 sdk 版本更新为 30 后,OkHttpProfilerInterceptor 不起作用