Android如何判断MIUI和魅族手机

最近项目里要对MIUI手机的推送做特殊处理,走小米平台的推送,所以要区分下MIUI,留个笔记,以后用到就可以


import java.io.IOException;

public final class MIUIUtils {
private static final String KEY_MIUI_VERSION_CODE = "ro.miui.ui.version.code";
private static final String KEY_MIUI_VERSION_NAME = "ro.miui.ui.version.name"; 
private static final String KEY_MIUI_INTERNAL_STORAGE = "ro.miui.internal.storage";

    public static boolean isMIUI() { 
        try { 
            final BuildProperties prop = BuildProperties.newInstance(); 
            return prop.getProperty(KEY_MIUI_VERSION_CODE, null) != null || prop.getProperty(KEY_MIUI_VERSION_NAME, null) != null 
            || prop.getProperty(KEY_MIUI_INTERNAL_STORAGE, null) != null; 
        } catch (final IOException e) { 
            return false; 
        }

    }
}


import android.os.Build; import java.lang.reflect.Method;
public final class FlymeUtils { 
    public static boolean isFlyme() { 
        try { 
            final Method method = Build.class.getMethod("hasSmartBar"); 
            return method != null; 
        } catch (final Exception e) { 
        return false; 
        } 
    }
 }



import android.os.Environment; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.IOException; 
import java.util.Collection; 
import java.util.Enumeration; 
import java.util.Map.Entry; 
import java.util.Properties; 
import java.util.Set; 

public class BuildProperties { 
    private final Properties properties; 

    private BuildProperties() throws IOException { 
        properties = new Properties(); 
        properties.load(new FileInputStream(new File(Environment.getRootDirectory(), "build.prop"))); 
    } 

    public boolean containsKey(final Object key) { 
        return properties.containsKey(key); 
    }    

    public boolean containsValue(final Object value) { 
        return properties.containsValue(value); 
    } 

    public Set<Entry<Object, Object>> entrySet() { 
        return properties.entrySet(); 
    }

    public String getProperty(final String name) { 
        return properties.getProperty(name); 
    }

    public String getProperty(final String name, final String defaultValue) { 
        return properties.getProperty(name, defaultValue); 
    } 

    public boolean isEmpty() { 
        return properties.isEmpty();
    } 

    public Enumeration<Object> keys() { 
        return properties.keys(); 
    }

    public Set<Object> keySet() {
        return properties.keySet(); 
    } 

    public int size() {
        return properties.size(); 
    } 

    public Collection<Object> values() { 
        return properties.values(); 
    } 

    public static BuildProperties newInstance() throws IOException { 
        return new BuildProperties(); 
    }
 }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值