小米和红米不请求推送token
This commit is contained in:
parent
c799e6702e
commit
c53c61155a
@ -65,8 +65,8 @@ android {
|
|||||||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion flutter.targetSdkVersion
|
targetSdkVersion flutter.targetSdkVersion
|
||||||
versionCode 11
|
versionCode 13
|
||||||
versionName "1.1.0"
|
versionName "1.1.2"
|
||||||
manifestPlaceholders = [
|
manifestPlaceholders = [
|
||||||
vivo_APPID: "105669716",
|
vivo_APPID: "105669716",
|
||||||
vivo_APPKEY:"84f750207787376b310ca5b0d5969122",
|
vivo_APPKEY:"84f750207787376b310ca5b0d5969122",
|
||||||
|
|||||||
@ -24,6 +24,9 @@
|
|||||||
android:name="android.permission.READ_MEDIA_IMAGES"/>
|
android:name="android.permission.READ_MEDIA_IMAGES"/>
|
||||||
<uses-permission
|
<uses-permission
|
||||||
android:name="android.permission.READ_MEDIA_VIDEO"/>
|
android:name="android.permission.READ_MEDIA_VIDEO"/>
|
||||||
|
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
||||||
|
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位 -->
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位 -->
|
||||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||||
<uses-permission android:name = "com.huawei.android.launcher.permission.CHANGE_BADGE "/>
|
<uses-permission android:name = "com.huawei.android.launcher.permission.CHANGE_BADGE "/>
|
||||||
|
|||||||
@ -157,6 +157,7 @@ class TIMTextFieldLayoutNarrow extends StatefulWidget {
|
|||||||
|
|
||||||
class _TIMTextFieldLayoutNarrowState
|
class _TIMTextFieldLayoutNarrowState
|
||||||
extends TIMUIKitState<TIMTextFieldLayoutNarrow> {
|
extends TIMUIKitState<TIMTextFieldLayoutNarrow> {
|
||||||
|
|
||||||
final TUISettingModel settingModel = serviceLocator<TUISettingModel>();
|
final TUISettingModel settingModel = serviceLocator<TUISettingModel>();
|
||||||
final ImagePicker _picker = ImagePicker();
|
final ImagePicker _picker = ImagePicker();
|
||||||
|
|
||||||
@ -838,12 +839,14 @@ class _TIMTextFieldLayoutNarrowState
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await requestStoragePermission();
|
||||||
|
|
||||||
XFile? pickedFile;
|
XFile? pickedFile;
|
||||||
String? thumbnailPath; // 声明 thumbnailPath 变量
|
String? thumbnailPath; // 声明 thumbnailPath 变量
|
||||||
|
|
||||||
try {
|
try {
|
||||||
pickedFile = await _picker.pickVideo(
|
pickedFile = await _picker.pickVideo(
|
||||||
source: imageSource,
|
source: imageSource, maxDuration: const Duration(seconds: 30)
|
||||||
);
|
);
|
||||||
if (pickedFile == null) {
|
if (pickedFile == null) {
|
||||||
return;
|
return;
|
||||||
@ -938,20 +941,39 @@ class _TIMTextFieldLayoutNarrowState
|
|||||||
if (!isOK) {
|
if (!isOK) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
await requestStoragePermission();
|
||||||
try {
|
try {
|
||||||
final XFile? pickedFile = await _picker.pickImage(
|
final XFile? pickedFile = await _picker.pickImage(
|
||||||
source: ImageSource.camera,
|
source: ImageSource.camera,
|
||||||
);
|
);
|
||||||
|
if(null==pickedFile){
|
||||||
|
return;
|
||||||
|
}
|
||||||
widget.model.sendImageMessage(
|
widget.model.sendImageMessage(
|
||||||
imagePath: pickedFile!.path,
|
imagePath: pickedFile.path,
|
||||||
convID: widget.conversationID,
|
convID: widget.conversationID,
|
||||||
convType: widget.conversationType,
|
convType: widget.conversationType,
|
||||||
inputElement: context);
|
inputElement: context);
|
||||||
var data = await DioManager.instance.get(url: Api.getAddTrialCount + "1");
|
DioManager.instance.get(url: Api.getAddTrialCount + "1");
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//实在找不到问题 先加个权限试试
|
||||||
|
Future<void> requestStoragePermission() async {
|
||||||
|
final status = await Permission.storage.request();
|
||||||
|
if (status.isGranted) {
|
||||||
|
// 权限已授予,可以执行存储操作
|
||||||
|
} else if (status.isDenied) {
|
||||||
|
showOKToast("请打开存储权限。将为你带来更好的服务");
|
||||||
|
// 权限被拒绝,您可以显示一条消息来解释为什么需要权限
|
||||||
|
} else if (status.isPermanentlyDenied) {
|
||||||
|
showOKToast("请打开存储权限。将为你带来更优的服务");
|
||||||
|
// 权限被永久拒绝,用户无法在应用程序内授予权限
|
||||||
|
// 您可以引导用户进入应用程序设置以手动启用权限
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
_handleCameraAndMic() async {
|
_handleCameraAndMic() async {
|
||||||
// // 请求权限
|
// // 请求权限
|
||||||
// Map<PermissionGroup, PermissionStatus> permissions = await PermissionHandler().requestPermissions(
|
// Map<PermissionGroup, PermissionStatus> permissions = await PermissionHandler().requestPermissions(
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import 'dart:ffi';
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:connectivity/connectivity.dart';
|
import 'package:connectivity/connectivity.dart';
|
||||||
|
import 'package:device_info/device_info.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/gestures.dart';
|
import 'package:flutter/gestures.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@ -198,21 +199,34 @@ class _CustomDialogState extends State<YesAgreementDialog> {
|
|||||||
if (Platform.isAndroid) {
|
if (Platform.isAndroid) {
|
||||||
initWxApi();
|
initWxApi();
|
||||||
}
|
}
|
||||||
final CoreServicesImpl coreInstance = TIMUIKitCore.getInstance();
|
AndroidDeviceInfo androidInfo;
|
||||||
await ChannelPush.init((msg) {});
|
try {
|
||||||
|
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
|
||||||
int? businessID = await TimUiKitPushPlugin.getBuzId(PushConfig.appInfo);
|
androidInfo = await deviceInfo.androidInfo;
|
||||||
|
} catch (e) {
|
||||||
String token = await ChannelPush.getDeviceToken();
|
// 处理异常
|
||||||
ChannelPush.uploadToken();
|
return true;
|
||||||
|
|
||||||
print("token=" + token);
|
|
||||||
if (token != "") {
|
|
||||||
V2TimCallback res = await coreInstance.setOfflinePushConfig(
|
|
||||||
token: token, businessID: businessID);
|
|
||||||
|
|
||||||
print("token=" + res.code.toString());
|
|
||||||
}
|
}
|
||||||
|
if (androidInfo.brand == 'Xiaomi'||androidInfo.brand == 'Redmi') {
|
||||||
|
|
||||||
|
}else{
|
||||||
|
final CoreServicesImpl coreInstance = TIMUIKitCore.getInstance();
|
||||||
|
await ChannelPush.init((msg) {});
|
||||||
|
|
||||||
|
int? businessID = await TimUiKitPushPlugin.getBuzId(PushConfig.appInfo);
|
||||||
|
|
||||||
|
String token = await ChannelPush.getDeviceToken();
|
||||||
|
ChannelPush.uploadToken();
|
||||||
|
|
||||||
|
print("token=" + token);
|
||||||
|
if (token != "") {
|
||||||
|
V2TimCallback res = await coreInstance.setOfflinePushConfig(
|
||||||
|
token: token, businessID: businessID);
|
||||||
|
|
||||||
|
print("token=" + res.code.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,10 +13,12 @@ import 'package:circle_app/util/SharedPreferencesHelper.dart';
|
|||||||
import 'package:circle_app/util/device.dart';
|
import 'package:circle_app/util/device.dart';
|
||||||
import 'package:circle_app/util/util.dart';
|
import 'package:circle_app/util/util.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_native_splash/flutter_native_splash.dart';
|
import 'package:flutter_native_splash/flutter_native_splash.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:image_picker/image_picker.dart';
|
||||||
import 'package:oktoast/oktoast.dart';
|
import 'package:oktoast/oktoast.dart';
|
||||||
import 'package:tencent_cloud_chat_uikit/business_logic/separate_models/tui_chat_separate_view_model.dart';
|
import 'package:tencent_cloud_chat_uikit/business_logic/separate_models/tui_chat_separate_view_model.dart';
|
||||||
import 'package:tencent_cloud_chat_uikit/data_services/core/core_services.dart';
|
import 'package:tencent_cloud_chat_uikit/data_services/core/core_services.dart';
|
||||||
@ -36,8 +38,29 @@ void main() {
|
|||||||
WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
|
WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
|
||||||
FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
|
FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
|
||||||
runApp(const MyApp());
|
runApp(const MyApp());
|
||||||
|
getLostData();
|
||||||
}
|
}
|
||||||
|
Future<void> getLostData() async {
|
||||||
|
final ImagePicker picker = ImagePicker();
|
||||||
|
final LostDataResponse response = await picker.retrieveLostData();
|
||||||
|
if (response.isEmpty) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final List<XFile>? files = response.files;
|
||||||
|
if (files != null) {
|
||||||
|
_handleLostFiles(files);
|
||||||
|
} else {
|
||||||
|
_handleError(response.exception);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void _handleLostFiles(List<XFile> file) {}
|
||||||
|
Future<void> _handleError(dynamic error) async {
|
||||||
|
// 处理错误,例如记录错误或显示错误消息
|
||||||
|
print('Error occurred: $error');
|
||||||
|
// 在界面上显示错误消息
|
||||||
|
showToast('内存异常,请重新上传');
|
||||||
|
|
||||||
|
}
|
||||||
int IM_SDK_APP_ID = 1400799631;
|
int IM_SDK_APP_ID = 1400799631;
|
||||||
|
|
||||||
String IOS_APP_ID = "";
|
String IOS_APP_ID = "";
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user