这是indexloc提供的服务,不要输入任何密码
Skip to content

Commit 9a9e3ea

Browse files
Changed|Fixed: Use TERMUX_API_FILE_SHARE_URI_AUTHORITY for content provided uri and fix sharing paths with "#"
1 parent 3bea194 commit 9a9e3ea

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

app/src/main/java/com/termux/api/TermuxAPIConstants.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,7 @@ public class TermuxAPIConstants {
1111
*/
1212
public static final String TERMUX_API_RECEIVER_NAME = TERMUX_API_PACKAGE_NAME + ".TermuxApiReceiver"; // Default to "com.termux.api.TermuxApiReceiver"
1313

14+
/** The Uri authority for Termux:API app file shares */
15+
public static final String TERMUX_API_FILE_SHARE_URI_AUTHORITY = TERMUX_PACKAGE_NAME + ".sharedfiles"; // Default: "com.termux.sharedfiles"
16+
1417
}

app/src/main/java/com/termux/api/apis/ShareAPI.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@
1212
import android.webkit.MimeTypeMap;
1313

1414
import com.termux.api.R;
15+
import com.termux.api.TermuxAPIConstants;
1516
import com.termux.api.TermuxApiReceiver;
1617
import com.termux.api.util.ResultReturner;
1718
import com.termux.shared.logger.Logger;
19+
import com.termux.shared.net.uri.UriUtils;
1820

1921
import java.io.File;
2022
import java.io.FileNotFoundException;
@@ -88,7 +90,9 @@ public void writeResult(PrintWriter out) {
8890

8991
Intent sendIntent = new Intent();
9092
sendIntent.setAction(finalIntentAction);
91-
Uri uriToShare = Uri.parse("content://com.termux.sharedfiles" + fileToShare.getAbsolutePath());
93+
94+
// Do not create Uri with Uri.parse() and use Uri.Builder().path(), check UriUtils.getUriFilePath().
95+
Uri uriToShare = UriUtils.getContentUri(TermuxAPIConstants.TERMUX_API_FILE_SHARE_URI_AUTHORITY, fileToShare.getAbsolutePath());
9296
sendIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_GRANT_READ_URI_PERMISSION);
9397

9498
String contentTypeToUse;

0 commit comments

Comments
 (0)