YAM*_*YAM 4 android reactjs android-developer-api react-native react-android
我试图从Android设备获取设备ID.有几个链接和包可用于获取设备ID,但在Android的情况下很少可用.以下是我已尝试过的链接,没有结果:
Link1:https://github.com/rebeccahughes/react-native-device-info 我试过这个链接没有成功它可能在ios上正常运行但在Android上它显示我在github链接上运行上述命令时出错"反应-native link react-native-device-info"错误:链接无法识别
Link2:https://github.com/lazywei/react-native-device-uuid 它只有IOS的解决方案
我被困在这里.我不知道我将如何解决这个问题?请帮忙?
提前致谢
小智 8
您未指定反应本机版本号.
我使用了相同的react-native-device-info包.
我试过以下版本,它对我有用.
"react": "16.0.0",
"react-native": "0.50.4",
"react-native-device-info": "^0.12.1",
Run Code Online (Sandbox Code Playgroud)
我用命令安装它:
npm install --save react-native-device-info
Run Code Online (Sandbox Code Playgroud)
然后我用命令链接它:
react-native link react-native-device-info
Run Code Online (Sandbox Code Playgroud)
如果您在链接包时遇到任何问题,那么您可以进行手动链接,也可以交叉检查包是否成功链接.
Run Code Online (Sandbox Code Playgroud)dependencies { ... compile "com.facebook.react:react-native:+" // From node_modules + compile project(':react-native-device-info') }
...
包括':app'
包括':react-native-device-info'
project(':react-native-device-info').projectDir = new File(rootProject.projectDir,'../node_modules/replace-term-device-info/android')
Run Code Online (Sandbox Code Playgroud)+ import com.learnium.RNDeviceInfo.RNDeviceInfo; public class MainApplication extends Application implements ReactApplication { //...... @Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( + new RNDeviceInfo(), new MainReactPackage() ); } ...... }
权限
为AndroidManifest.xml添加适当的可选权限:
...
<uses-permission android:name="android.permission.BLUETOOTH"/> <!-- for Device Name -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> <!-- for Phone Number -->
Run Code Online (Sandbox Code Playgroud)
例
var DeviceInfo = require('react-native-device-info');
// or import DeviceInfo from 'react-native-device-info';
var deviceId = DeviceInfo.getUniqueID();
Run Code Online (Sandbox Code Playgroud)
你可以使用上面的deviceId.
| 归档时间: |
|
| 查看次数: |
9462 次 |
| 最近记录: |