Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
R
react-native-device-info
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
放牛的园子
react-native-device-info
Commits
fe126ff2
Commit
fe126ff2
authored
Nov 28, 2016
by
Joseph An
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Windows module and package plus generated files from Visual Studio.
parent
82e585a5
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
507 additions
and
0 deletions
+507
-0
README.md
README.md
+23
-0
package.json
package.json
+1
-0
.gitignore
windows/.gitignore
+62
-0
AssemblyInfo.cs
windows/RNDeviceInfo/Properties/AssemblyInfo.cs
+30
-0
RNDeviceInfo.rd.xml
windows/RNDeviceInfo/Properties/RNDeviceInfo.rd.xml
+33
-0
RNDeviceInfo.csproj
windows/RNDeviceInfo/RNDeviceInfo.csproj
+133
-0
RNDeviceInfo.sln
windows/RNDeviceInfo/RNDeviceInfo.sln
+59
-0
RNDeviceInfoModule.cs
windows/RNDeviceInfo/RNDeviceInfoModule.cs
+119
-0
RNDeviceInfoPackage.cs
windows/RNDeviceInfo/RNDeviceInfoPackage.cs
+30
-0
project.json
windows/RNDeviceInfo/project.json
+17
-0
No files found.
README.md
View file @
fe126ff2
...
@@ -118,6 +118,29 @@ include ':app'
...
@@ -118,6 +118,29 @@ include ':app'
(Thanks to @chirag04 for writing the instructions)
(Thanks to @chirag04 for writing the instructions)
### Windows
- Open the solution in Visual Studio for your Windows apps
- right click your in the Explorer and click Add > Existing Project...
- Navigate to `
./
<app-name>
/node_modules/react-native-device-info/windows/RNDeviceInfo
` and add `
RNDeviceInfo.csproj
`
- this time right click on your React Native Windows app under your solutions directory and click Add > Reference...
- check the `
RNDeviceInfo
` you just added and press ok
- open up `
MainPage.cs
` for your app and edit the file like so:
```diff
+ using RNDeviceInfo;
......
get
{
return new List<IReactPackage>
{
new MainReactPackage(),
+ new RNDeviceInfoPackage(),
};
}
```
(Thanks to @josephan for writing the instructions)
## Device Name
## Device Name
If you want to get the device name in Android add this to your `
AndroidManifest.xml
` (optional):
If you want to get the device name in Android add this to your `
AndroidManifest.xml
` (optional):
...
...
package.json
View file @
fe126ff2
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
"react-native"
,
"react-native"
,
"ios"
,
"ios"
,
"android"
,
"android"
,
"windows"
,
"device"
,
"device"
,
"events"
,
"events"
,
"cocoapod"
"cocoapod"
...
...
windows/.gitignore
0 → 100644
View file @
fe126ff2
# OSX
#
.DS_Store
# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace
# node.js
#
node_modules/
npm-debug.log
# Logs
logs
*.log
# Runtime data
pids
*.pid
*.seed
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directory
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
node_modules
build/
# Other files
.vs/
*project.lock.json
obj/
windows/RNDeviceInfo/Properties/AssemblyInfo.cs
0 → 100644
View file @
fe126ff2
using
System.Reflection
;
using
System.Runtime.CompilerServices
;
using
System.Runtime.InteropServices
;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("RNDeviceInfo")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("RNDeviceInfo")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: ComVisible(false)]
\ No newline at end of file
windows/RNDeviceInfo/Properties/RNDeviceInfo.rd.xml
0 → 100644
View file @
fe126ff2
<?xml version="1.0" encoding="utf-8"?>
<!--
This file contains Runtime Directives, specifications about types your application accesses
through reflection and other dynamic code patterns. Runtime Directives are used to control the
.NET Native optimizer and ensure that it does not remove code accessed by your library. If your
library does not do any reflection, then you generally do not need to edit this file. However,
if your library reflects over types, especially types passed to it or derived from its types,
then you should write Runtime Directives.
The most common use of reflection in libraries is to discover information about types passed
to the library. Runtime Directives have three ways to express requirements on types passed to
your library.
1. Parameter, GenericParameter, TypeParameter, TypeEnumerableParameter
Use these directives to reflect over types passed as a parameter.
2. SubTypes
Use a SubTypes directive to reflect over types derived from another type.
3. AttributeImplies
Use an AttributeImplies directive to indicate that your library needs to reflect over
types or methods decorated with an attribute.
For more information on writing Runtime Directives for libraries, please visit
http://go.microsoft.com/fwlink/?LinkID=391919
-->
<Directives
xmlns=
"http://schemas.microsoft.com/netfx/2013/01/metadata"
>
<Library
Name=
"RNDeviceInfo"
>
<!-- add directives for your library here -->
</Library>
</Directives>
windows/RNDeviceInfo/RNDeviceInfo.csproj
0 → 100644
View file @
fe126ff2
<?xml version="1.0" encoding="utf-8"?>
<Project
ToolsVersion=
"14.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<Import
Project=
"$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"
Condition=
"Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')"
/>
<PropertyGroup>
<Configuration
Condition=
" '$(Configuration)' == '' "
>
Debug
</Configuration>
<Platform
Condition=
" '$(Platform)' == '' "
>
AnyCPU
</Platform>
<ProjectGuid>
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}
</ProjectGuid>
<OutputType>
Library
</OutputType>
<AppDesignerFolder>
Properties
</AppDesignerFolder>
<RootNamespace>
RNDeviceInfo
</RootNamespace>
<AssemblyName>
RNDeviceInfo
</AssemblyName>
<DefaultLanguage>
en-US
</DefaultLanguage>
<TargetPlatformIdentifier>
UAP
</TargetPlatformIdentifier>
<TargetPlatformVersion>
10.0.14393.0
</TargetPlatformVersion>
<TargetPlatformMinVersion>
10.0.10586.0
</TargetPlatformMinVersion>
<MinimumVisualStudioVersion>
14
</MinimumVisualStudioVersion>
<FileAlignment>
512
</FileAlignment>
<ProjectTypeGuids>
{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
</ProjectTypeGuids>
</PropertyGroup>
<PropertyGroup
Condition=
" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "
>
<PlatformTarget>
AnyCPU
</PlatformTarget>
<DebugSymbols>
true
</DebugSymbols>
<DebugType>
full
</DebugType>
<Optimize>
false
</Optimize>
<OutputPath>
bin\Debug\
</OutputPath>
<DefineConstants>
DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
</DefineConstants>
<ErrorReport>
prompt
</ErrorReport>
<WarningLevel>
4
</WarningLevel>
</PropertyGroup>
<PropertyGroup
Condition=
" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "
>
<PlatformTarget>
AnyCPU
</PlatformTarget>
<DebugType>
pdbonly
</DebugType>
<Optimize>
true
</Optimize>
<OutputPath>
bin\Release\
</OutputPath>
<DefineConstants>
TRACE;NETFX_CORE;WINDOWS_UWP
</DefineConstants>
<ErrorReport>
prompt
</ErrorReport>
<WarningLevel>
4
</WarningLevel>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)' == 'Debug|x86'"
>
<PlatformTarget>
x86
</PlatformTarget>
<DebugSymbols>
true
</DebugSymbols>
<OutputPath>
bin\x86\Debug\
</OutputPath>
<DefineConstants>
DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
</DefineConstants>
<NoWarn>
;2008
</NoWarn>
<DebugType>
full
</DebugType>
<PlatformTarget>
x86
</PlatformTarget>
<UseVSHostingProcess>
false
</UseVSHostingProcess>
<ErrorReport>
prompt
</ErrorReport>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)' == 'Release|x86'"
>
<PlatformTarget>
x86
</PlatformTarget>
<OutputPath>
bin\x86\Release\
</OutputPath>
<DefineConstants>
TRACE;NETFX_CORE;WINDOWS_UWP
</DefineConstants>
<Optimize>
true
</Optimize>
<NoWarn>
;2008
</NoWarn>
<DebugType>
pdbonly
</DebugType>
<PlatformTarget>
x86
</PlatformTarget>
<UseVSHostingProcess>
false
</UseVSHostingProcess>
<ErrorReport>
prompt
</ErrorReport>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)' == 'Debug|ARM'"
>
<PlatformTarget>
ARM
</PlatformTarget>
<DebugSymbols>
true
</DebugSymbols>
<OutputPath>
bin\ARM\Debug\
</OutputPath>
<DefineConstants>
DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
</DefineConstants>
<NoWarn>
;2008
</NoWarn>
<DebugType>
full
</DebugType>
<PlatformTarget>
ARM
</PlatformTarget>
<UseVSHostingProcess>
false
</UseVSHostingProcess>
<ErrorReport>
prompt
</ErrorReport>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)' == 'Release|ARM'"
>
<PlatformTarget>
ARM
</PlatformTarget>
<OutputPath>
bin\ARM\Release\
</OutputPath>
<DefineConstants>
TRACE;NETFX_CORE;WINDOWS_UWP
</DefineConstants>
<Optimize>
true
</Optimize>
<NoWarn>
;2008
</NoWarn>
<DebugType>
pdbonly
</DebugType>
<PlatformTarget>
ARM
</PlatformTarget>
<UseVSHostingProcess>
false
</UseVSHostingProcess>
<ErrorReport>
prompt
</ErrorReport>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)' == 'Debug|x64'"
>
<PlatformTarget>
x64
</PlatformTarget>
<DebugSymbols>
true
</DebugSymbols>
<OutputPath>
bin\x64\Debug\
</OutputPath>
<DefineConstants>
DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
</DefineConstants>
<NoWarn>
;2008
</NoWarn>
<DebugType>
full
</DebugType>
<PlatformTarget>
x64
</PlatformTarget>
<UseVSHostingProcess>
false
</UseVSHostingProcess>
<ErrorReport>
prompt
</ErrorReport>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)' == 'Release|x64'"
>
<PlatformTarget>
x64
</PlatformTarget>
<OutputPath>
bin\x64\Release\
</OutputPath>
<DefineConstants>
TRACE;NETFX_CORE;WINDOWS_UWP
</DefineConstants>
<Optimize>
true
</Optimize>
<NoWarn>
;2008
</NoWarn>
<DebugType>
pdbonly
</DebugType>
<PlatformTarget>
x64
</PlatformTarget>
<UseVSHostingProcess>
false
</UseVSHostingProcess>
<ErrorReport>
prompt
</ErrorReport>
</PropertyGroup>
<ItemGroup>
<!-- A reference to the entire .Net Framework and Windows SDK are automatically included -->
<None
Include=
"project.json"
/>
</ItemGroup>
<ItemGroup>
<Compile
Include=
"RNDeviceInfoPackage.cs"
/>
<Compile
Include=
"RNDeviceInfoModule.cs"
/>
<Compile
Include=
"Properties\AssemblyInfo.cs"
/>
<EmbeddedResource
Include=
"Properties\RNDeviceInfo.rd.xml"
/>
</ItemGroup>
<ItemGroup>
<ProjectReference
Include=
"..\..\node_modules\react-native-windows\ReactWindows\ReactNative\ReactNative.csproj"
>
<Project>
{c7673ad5-e3aa-468c-a5fd-fa38154e205c}
</Project>
<Name>
ReactNative
</Name>
</ProjectReference>
</ItemGroup>
<PropertyGroup
Condition=
" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '14.0' "
>
<VisualStudioVersion>
14.0
</VisualStudioVersion>
</PropertyGroup>
<Import
Project=
"$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets"
/>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
\ No newline at end of file
windows/RNDeviceInfo/RNDeviceInfo.sln
0 → 100644
View file @
fe126ff2
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RNDeviceInfo", "RNDeviceInfo.csproj", "{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReactNative", "..\..\node_modules\react-native-windows\ReactWindows\ReactNative\ReactNative.csproj", "{C7673AD5-E3AA-468C-A5FD-FA38154E205C}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
..\..\node_modules\react-native-windows\ReactWindows\ReactNative.Shared\ReactNative.Shared.projitems*{c7673ad5-e3aa-468c-a5fd-fa38154e205c}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Debug|ARM.ActiveCfg = Debug|ARM
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Debug|ARM.Build.0 = Debug|ARM
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Debug|x64.ActiveCfg = Debug|x64
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Debug|x64.Build.0 = Debug|x64
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Debug|x86.ActiveCfg = Debug|x86
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Debug|x86.Build.0 = Debug|x86
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Release|Any CPU.Build.0 = Release|Any CPU
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Release|ARM.ActiveCfg = Release|ARM
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Release|ARM.Build.0 = Release|ARM
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Release|x64.ActiveCfg = Release|x64
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Release|x64.Build.0 = Release|x64
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Release|x86.ActiveCfg = Release|x86
{C56790CE-79E5-4D7D-BEB7-8403E70BB0E4}.Release|x86.Build.0 = Release|x86
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|Any CPU.ActiveCfg = Debug|x86
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|ARM.ActiveCfg = Debug|ARM
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|ARM.Build.0 = Debug|ARM
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|x64.ActiveCfg = Debug|x64
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|x64.Build.0 = Debug|x64
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|x86.ActiveCfg = Debug|x86
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|x86.Build.0 = Debug|x86
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|Any CPU.ActiveCfg = Release|x86
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|ARM.ActiveCfg = Release|ARM
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|ARM.Build.0 = Release|ARM
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|x64.ActiveCfg = Release|x64
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|x64.Build.0 = Release|x64
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|x86.ActiveCfg = Release|x86
{C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
windows/RNDeviceInfo/RNDeviceInfoModule.cs
0 → 100644
View file @
fe126ff2
using
ReactNative.Bridge
;
using
System
;
using
System.Collections.Generic
;
using
System.Globalization
;
using
System.Net.Http
;
using
System.Text.RegularExpressions
;
using
Windows.ApplicationModel
;
using
Windows.UI.Xaml
;
using
Windows.UI.Xaml.Controls
;
using
WinRTXamlToolkit.Controls
;
namespace
RNDeviceInfo
{
public
class
RNDeviceInfoModule
:
ReactContextNativeModuleBase
{
public
RNDeviceInfoModule
(
ReactContext
reactContext
)
:
base
(
reactContext
)
{
}
public
override
string
Name
{
get
{
return
"RNDeviceInfo"
;
}
}
private
bool
IsEmulator
(
string
model
)
{
Regex
rgx
=
new
Regex
(
"(?i:virtual)"
);
return
rgx
.
IsMatch
(
model
);
}
private
bool
IsTablet
(
string
os
)
{
Regex
rgx
=
new
Regex
(
"(?i:windowsphone)"
);
return
!
rgx
.
IsMatch
(
os
);
}
public
override
IReadOnlyDictionary
<
string
,
object
>
Constants
{
get
{
Dictionary
<
string
,
object
>
constants
=
new
Dictionary
<
string
,
object
>();
constants
[
"appVersion"
]
=
"not available"
;
constants
[
"buildVersion"
]
=
"not available"
;
constants
[
"buildNumber"
]
=
0
;
Package
package
=
Package
.
Current
;
PackageId
packageId
=
package
.
Id
;
PackageVersion
version
=
packageId
.
Version
;
String
packageName
=
package
.
DisplayName
;
try
{
constants
[
"appVersion"
]
=
string
.
Format
(
"{0}.{1}.{2}.{3}"
,
version
.
Major
,
version
.
Minor
,
version
.
Build
,
version
.
Revision
);
constants
[
"buildNumber"
]
=
version
.
Build
.
ToString
();
constants
[
"buildVersion"
]
=
version
.
Build
.
ToString
();
}
catch
{
}
String
deviceName
=
"not available"
;
String
manufacturer
=
"not available"
;
String
device_id
=
"not available"
;
String
model
=
"not available"
;
String
hardwareVersion
=
"not available"
;
String
osVersion
=
"not available"
;
String
os
=
"not available"
;
CultureInfo
culture
=
CultureInfo
.
CurrentCulture
;
try
{
var
deviceInfo
=
new
Windows
.
Security
.
ExchangeActiveSyncProvisioning
.
EasClientDeviceInformation
();
deviceName
=
deviceInfo
.
FriendlyName
;
manufacturer
=
deviceInfo
.
SystemManufacturer
;
device_id
=
deviceInfo
.
Id
.
ToString
();
model
=
deviceInfo
.
SystemProductName
;
hardwareVersion
=
deviceInfo
.
SystemHardwareVersion
;
os
=
deviceInfo
.
OperatingSystem
;
string
deviceFamilyVersion
=
Windows
.
System
.
Profile
.
AnalyticsInfo
.
VersionInfo
.
DeviceFamilyVersion
;
ulong
version2
=
ulong
.
Parse
(
deviceFamilyVersion
);
ulong
major
=
(
version2
&
0xFFFF000000000000L
)
>>
48
;
ulong
minor
=
(
version2
&
0x0000FFFF00000000L
)
>>
32
;
osVersion
=
$"
{
major
}
.
{
minor
}
"
;
}
catch
{
}
constants
[
"instanceId"
]
=
"not available"
;
constants
[
"deviceName"
]
=
deviceName
;
constants
[
"systemName"
]
=
"Windows"
;
constants
[
"systemVersion"
]
=
osVersion
;
constants
[
"model"
]
=
model
;
constants
[
"brand"
]
=
model
;
constants
[
"deviceId"
]
=
hardwareVersion
;
constants
[
"deviceLocale"
]
=
culture
.
Name
;
constants
[
"deviceCountry"
]
=
culture
.
EnglishName
;
constants
[
"uniqueId"
]
=
device_id
;
constants
[
"systemManufacturer"
]
=
manufacturer
;
constants
[
"bundleId"
]
=
packageName
;
constants
[
"userAgent"
]
=
"not available"
;
constants
[
"timezone"
]
=
TimeZoneInfo
.
Local
.
Id
;
constants
[
"isEmulator"
]
=
IsEmulator
(
model
);
constants
[
"isTablet"
]
=
IsTablet
(
os
);
return
constants
;
}
}
}
}
windows/RNDeviceInfo/RNDeviceInfoPackage.cs
0 → 100644
View file @
fe126ff2
using
ReactNative.Bridge
;
using
ReactNative.Modules.Core
;
using
ReactNative.UIManager
;
using
System
;
using
System.Collections.Generic
;
namespace
RNDeviceInfo
{
public
class
RNDeviceInfoPackage
:
IReactPackage
{
public
IReadOnlyList
<
INativeModule
>
CreateNativeModules
(
ReactContext
reactContext
)
{
return
new
List
<
INativeModule
>
{
new
RNDeviceInfoModule
(
reactContext
)
};
}
public
IReadOnlyList
<
Type
>
CreateJavaScriptModulesConfig
()
{
return
new
List
<
Type
>(
0
);
}
public
IReadOnlyList
<
IViewManager
>
CreateViewManagers
(
ReactContext
reactContext
)
{
return
new
List
<
IViewManager
>(
0
);
}
}
}
windows/RNDeviceInfo/project.json
0 → 100644
View file @
fe126ff2
{
"dependencies"
:
{
"Microsoft.NETCore.UniversalWindowsPlatform"
:
"5.2.2"
},
"frameworks"
:
{
"uap10.0"
:
{}
},
"runtimes"
:
{
"win10-arm"
:
{},
"win10-arm-aot"
:
{},
"win10-x86"
:
{},
"win10-x86-aot"
:
{},
"win10-x64"
:
{},
"win10-x64-aot"
:
{}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment