Android - 为不同的设备执行不同的代码
前几天我的第一个问题没有得到任何答案,我仍然找不到任何有用的东西在网上,所以我会给它一个更普遍的尝试问题(我正在为我的实习工作,我成长得相当绝望,因为我没有任何(更多)想法如何解决这个问题:Android - 为不同的设备执行不同的代码
我正在写一个应用程序,它应该一般在Android上工作手机,但支持某种行为,目前只支持一种设备(LG Stylus 2上的数字收音机),在该设备上该应用可以正常工作,但在任何其他设备上都会因为UnsatisfiedlinkError而崩溃。使应用程序检测到维德只在启动时执行数字广播代码,否则我想执行不同的代码(网络流媒体广播)。
我不一定要问代码,但是对于这个概念来说,正确的方法是什么。任何答案非常感谢。
谢谢你们
戴夫
你可以做这个目的以下。
String model = Build.MODEL;
if(model.equalsIgnoreCase("LG Stylus 2")
{
//do your task
}
感谢MezzyDroid,这已经非常有帮助! :) 任何想法,我可以告诉系统在启动时排除某个(不支持的)库,而不是一个设备? – user3142830
我不认为这是可能的.....因为gradle不允许压缩库在某些设备上运行。但是,只有在LG Stylus运行时才能获取型号名称并使用该特定功能,否则会禁用该功能。 – MezzyDroid
再次非常感谢! – user3142830
一个可能的解决方案是在gradle和Android Studio中使用构建风格特性。这表明您可以为不同的配置构建多个APK。例如,您可以为LG Stylus 2支持创建构建风格。然后用适当的<uses-feature>
标签创建一个AndroidManifest.XML文件。还要将自定义的依赖关系和Java代码添加到新的风格中。
显示如何调用生成异常的代码并为堆栈跟踪添加logcat –