我几天前的第一个问题没有得到任何答案,我仍然无法在网上找到任何有用的信息,所以我会再次提出一个更常见问题的问题(我在实习期间为此工作,我变得非常绝望,因为我没有任何(更多)想法如何解决这个问题:
我正在编写一个应用程序,它通常可以在Android手机上运行,但支持某种行为,目前只有一种设备支持(LG Stylus 2上的数字广播)。在所述设备上,该应用程序工作正常,但它在任何其他设备上与UnsatisfiedlinkError崩溃。
我想让应用程序在启动时检测设备,只在正确的设备上运行时执行数字无线电代码,否则我想执行不同的代码(网络流媒体广播)。
我不一定要求代码,但是从概念上来说这是正确的方法。任何答案都非常感谢。
谢谢你们
戴夫
答案 0 :(得分:2)
您可以为此目的执行以下操作。
String model = Build.MODEL;
if(model.equalsIgnoreCase("LG Stylus 2")
{
//do your task
}
答案 1 :(得分:1)
一种可能的解决方案是在gradle和Android Studio中使用构建风格功能。这表明您可以为不同的配置构建多个APK。例如,您可以为LG Stylus 2支持创建构建风格。然后使用正确的class SimpleRouter(BaseRouter):
routes = [
# List route.
Route(
url=r'^{prefix}{trailing_slash}$',
mapping={
'get': 'list',
'post': 'create'
},
name='{basename}-list',
initkwargs={'suffix': 'List'}
),
# Dynamically generated list routes.
# Generated using @list_route decorator
# on methods of the viewset.
DynamicListRoute(
url=r'^{prefix}/{methodname}{trailing_slash}$',
name='{basename}-{methodnamehyphen}',
initkwargs={}
),
# Detail route.
Route(
url=r'^{prefix}/{lookup}{trailing_slash}$',
mapping={
'get': 'retrieve',
'put': 'update',
'patch': 'partial_update',
'delete': 'destroy'
},
name='{basename}-detail',
initkwargs={'suffix': 'Instance'}
),
# Dynamically generated detail routes.
# Generated using @detail_route decorator on methods of the viewset.
DynamicDetailRoute(
url=r'^{prefix}/{lookup}/{methodname}{trailing_slash}$',
name='{basename}-{methodnamehyphen}',
initkwargs={}
),
]
标记创建一个AndroidManifest.XML文件。还要为新风格添加自定义依赖项和Java代码。