| | |
| | | using Microsoft.AppCenter.Analytics; |
| | | using Microsoft.AppCenter.Crashes; |
| | | using Com.Tencent.MM.Sdk.Openapi; |
| | | |
| | | using ZXing.Mobile;
|
| | | using System.IO;
|
| | |
|
| | | namespace com.hdl.home |
| | | { |
| | | |
| | |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | this.Finish(); |
| | | } |
| | | //IWXAPI api; |
| | |
| | | var req = new SendAuth.Req { Scope = "snsapi_userinfo", State = "ZigbeeApp" }; |
| | | api.SendReq(req); |
| | | } |
| | | /// <summary>
/// 所有初始化全部在这个方法实现
/// </summary>
void initAll()
{
BaseActivity.IsEnnableGPS = false; |
| | | /// <summary>
/// 所有初始化全部在这个方法实现
/// </summary>
void initAll()
{
//BaseActivity.IsEnnableGPS = false; |
| | | //设置极光调试模式,为false时只打印警告信息 |
| | | // System.Console.WriteLine($"AAA : {System.DateTime.Now.ToString()}"); |
| | | #if Release
JPushInterface.SetDebugMode(false); |
| | |
| | | BaseActivity.BackKeyAction = () => { |
| | | try |
| | | { |
| | | if (Shared.Common.CommonPage.BackKeyCanClick == false) |
| | | { |
| | | //不允许按返回键 |
| | | return; |
| | | } |
| | | if (Shared.Common.CommonPage.Loading != null) |
| | | { |
| | | Console.WriteLine(Shared.Common.CommonPage.Loading.CurStatus); |
| | |
| | | }; |
| | |
BaseActivity.OnCreateActoin += (activity, application) => { |
| | | Shared.Application.FontSize = 12; |
| | | AppCenter.Start("4802834a-e7e9-4dd8-93f1-c2f88f0bd464", typeof(Analytics), typeof(Crashes)); |
| | | |
| | | #if Release
//保存获取的极光服务器上的注册ID到本地文件
var registrationId = JPushInterface.GetRegistrationID(activity); |
| | | AppCenter.Start("4802834a-e7e9-4dd8-93f1-c2f88f0bd464", typeof(Analytics), typeof(Crashes));
#if Release
//保存获取的极光服务器上的注册ID到本地文件
var registrationId = JPushInterface.GetRegistrationID(activity); |
| | | System.Console.WriteLine("registrationId-极光id=" + registrationId); |
| | | if (!string.IsNullOrEmpty(registrationId))
{
Shared.Common.Config.Instance.RegistrationID = registrationId;
Shared.Common.Config.Instance.Save();
}
#endif
};
BaseActivity.RefreshUIAction += (activity) => {
Shared.Language.CurrentLanguage = "Chinese";
Shared.Common.CommonPage.Instance.Show();
};
BaseActivity.OnResumeAction += (activity) => {
};
BaseActivity.NetworkStateChanged += (v) =>
{
//网络状态变化处理事件 |
| | | if (!string.IsNullOrEmpty(registrationId))
{
Shared.Common.Config.Instance.RegistrationID = registrationId;
Shared.Common.Config.Instance.Save();
}
#endif
};
BaseActivity.RefreshUIAction += (activity) => {
Shared.Language.CurrentLanguage = "Chinese";
Shared.Common.CommonPage.Instance.Show();
};
BaseActivity.OnResumeAction += (activity) => {
};
BaseActivity.NetworkStateChanged += (v) =>
{
//网络状态变化处理事件 |
| | | Shared.Common.CommonPage.nowNetworkMode = v;
};
BaseActivity.OnDestroyAction += (activity) => {
//socket停止连接
//ZigBee.Device.ZbGateway.FindGateWaySocket.Stop();
};
HDLUtils.SetAuthoritiesName("com.hdl.home.fileProvider");
}
public static bool IsShowTip = true;
JpushNotificationReceiver myReceiver = new JpushNotificationReceiver { };
/// <summary>
/// 项目启动时网络查询
/// </summary>
void checkSomeInfo()
{
var status = isNetworkAvailable(this);
string internetStatus = "Available";
if (!status)
{
internetStatus = "UnaVailable";
}
else
{
var isWifi = isWifiConnected(this);
if (isWifi)
{
internetStatus = "WiFiConnect";
}
else
{
internetStatus = "MobileConnect";
}
}
int connectState = 0;
if (internetStatus == "UnaVailable")
{
connectState = 0;
}
else if (internetStatus == "WiFiConnect")
{
connectState = 2;
}
else
{
connectState = 1;
}
//ZigBee.Device.ZbGateway.CheckConnection(connectState);
}
/// <summary>
/// 网络是否可用
/// </summary>
/// <returns><c>true</c>, if network available was ised, <c>false</c> otherwise.</returns>
/// <param name="context">Context.</param>
bool isNetworkAvailable(Context context)
{
var cm = (ConnectivityManager)context.GetSystemService(ConnectivityService);
if (cm == null || cm.ActiveNetworkInfo == null)
{
//当前网络不可用
return false;
}
else
{
return cm.ActiveNetworkInfo.IsAvailable;
}
}
/// <summary>
/// 网络是否连接
/// </summary>
/// <returns><c>true</c>, if wifi connected was ised, <c>false</c> otherwise.</returns>
/// <param name="context">Context.</param>
bool isWifiConnected(Context context)
{
if (context != null)
{
var cm = (ConnectivityManager)context.GetSystemService(ConnectivityService);
var mWiFiNetworkInfo = cm.GetNetworkInfo(ConnectivityType.Wifi);
if (Android.Net.NetworkInfo.State.Connected == mWiFiNetworkInfo.GetState())
{
//当前网络是Wi-Fi连接
return true;
}
var moWiFiNetworkInfo = cm.GetNetworkInfo(ConnectivityType.Mobile);
if (Android.Net.NetworkInfo.State.Connected == moWiFiNetworkInfo.GetState())
{
//当前网络是Mobile连接
return false;
}
}
return false;
} |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | namespace Shared |
| | | { |
| | | public static class QRCode |
| | | { |
| | | static ZXing.Mobile.MobileBarcodeScanner scanner; |
| | | public static void ScanQRcode(Action<string> action) |
| | | { |
| | | ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) => { |
| | | if (obj) |
| | | { |
| | | if (scanner == null) |
| | | { |
| | | MobileBarcodeScanner.Initialize(Shared.Application.Activity.Application); |
| | | scanner = new ZXing.Mobile.MobileBarcodeScanner(); |
| | | } |
| | | |
| | | var result = await scanner.Scan(); |
| | | |
| | | if (result != null) |
| | | action?.Invoke(result.Text); |
| | | else |
| | | action?.Invoke(null); |
| | | |
| | | } |
| | | else |
| | | { |
| | | action?.Invoke(null); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | public static byte[] BytesFromText(string text, int width = 300, int height = 300) |
| | | { |
| | | var barcodeWriter = new ZXing.Mobile.BarcodeWriter |
| | | { |
| | | Format = ZXing.BarcodeFormat.QR_CODE, |
| | | Options = new ZXing.Common.EncodingOptions |
| | | { |
| | | Width = width, |
| | | Height = height, |
| | | Margin = 0 |
| | | } |
| | | }; |
| | | |
| | | barcodeWriter.Renderer = new ZXing.Mobile.BitmapRenderer();
|
| | | var bitmap = barcodeWriter.Write(text);
|
| | | using (var stream = new MemoryStream()) |
| | | { |
| | | bitmap.Compress(Android.Graphics.Bitmap.CompressFormat.Png, 100, stream); // this is the diff between iOS and Android |
| | | stream.Position = 0; |
| | | return stream.ToArray(); |
| | | } |
| | | } |
| | | } |
| | | } |