突破分享路径限制

This commit is contained in:
v7lin 2022-07-26 12:30:41 +08:00
parent ff1263e4ea
commit 0957d6155b
7 changed files with 69 additions and 21 deletions

View File

@ -1,3 +1,8 @@
## 4.0.1
* fix
* shareMultiImage/shareVideo
## 4.0.0
* Flutter 3.0

View File

@ -36,6 +36,8 @@ android {
targetCompatibility JavaVersion.VERSION_1_8
}
resourcePrefix 'weibo_kit'
defaultConfig {
minSdkVersion 16

View File

@ -1,4 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="io.github.v7lin.weibo_kit">
<uses-permission android:name="android.permission.INTERNET" />
@ -8,4 +9,18 @@
<!-- targetSdkVersion>=30 -> Android 11 -->
<package android:name="com.sina.weibo" />
</queries>
<application>
<!-- aar -->
<provider
android:name="com.sina.weibo.sdk.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true" >
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/weibo_kit_filepaths"
tools:replace="android:resource"/>
</provider>
</application>
</manifest>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<paths>
<!-- -->
<!-- Context.getExternalFilesDir(null)-->
<!--
<external-files-path
name="share_files"
path="." />
-->
<!-- Context.getExternalCacheDirs(null)-->
<!--
<external-cache-path
name="share_cache_files"
path="." />
-->
<root-path name="root" path="" />
<files-path name="files" path="" />
<cache-path name="cache" path="" />
<external-path name="external" path="" />
<external-files-path name="external_files" path="" />
<external-cache-path name="external_cache" path="" />
<external-media-path name="external_media" path="" />
</paths>

View File

@ -140,26 +140,26 @@ class _HomeState extends State<Home> {
ListTile(
title: Text('图片分享'),
onTap: () async {
File file = await DefaultCacheManager().getSingleFile(
final File file = await DefaultCacheManager().getSingleFile(
'https://www.baidu.com/img/bd_logo1.png?where=super');
if (Platform.isAndroid) {
// Context.getExternalFilesDir(null)/Context.getExternalCacheDirs(null)
// path_provider.getExternalCacheDirectories();
// path_provider.getExternalStorageDirectory();
final Directory temporaryDir =
await path_provider.getTemporaryDirectory();
if (path.isWithin(temporaryDir.parent.path, file.path)) {
//
final File copyFile = File(path.join(
(await path_provider.getExternalStorageDirectory())!.path,
path.basename(file.path)));
if (copyFile.existsSync()) {
await copyFile.delete();
}
await copyFile.writeAsBytes(await file.readAsBytes());
file = copyFile;
}
}
// if (Platform.isAndroid) {
// // Context.getExternalFilesDir(null)/Context.getExternalCacheDirs(null)
// // path_provider.getExternalCacheDirectories();
// // path_provider.getExternalStorageDirectory();
// final Directory temporaryDir =
// await path_provider.getTemporaryDirectory();
// if (path.isWithin(temporaryDir.parent.path, file.path)) {
// //
// final File copyFile = File(path.join(
// (await path_provider.getExternalStorageDirectory())!.path,
// path.basename(file.path)));
// if (copyFile.existsSync()) {
// await copyFile.delete();
// }
// await copyFile.writeAsBytes(await file.readAsBytes());
// file = copyFile;
// }
// }
await Weibo.instance.shareMultiImage(
text: 'Share Text',
imageUris: <Uri>[Uri.file(file.path)],

View File

@ -1,6 +1,6 @@
name: weibo_kit
description: A powerful Flutter plugin allowing developers to auth/share with natvie Android & iOS Weibo SDKs.
version: 4.0.0
version: 4.0.1
# author: v7lin <v7lin@qq.com>
homepage: https://github.com/RxReader/weibo_kit.git