File tree Expand file tree Collapse file tree 2 files changed +8
-1
lines changed
app/src/main/java/com/termux/api Expand file tree Collapse file tree 2 files changed +8
-1
lines changed Original file line number Diff line number Diff 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}
Original file line number Diff line number Diff line change 1212import android .webkit .MimeTypeMap ;
1313
1414import com .termux .api .R ;
15+ import com .termux .api .TermuxAPIConstants ;
1516import com .termux .api .TermuxApiReceiver ;
1617import com .termux .api .util .ResultReturner ;
1718import com .termux .shared .logger .Logger ;
19+ import com .termux .shared .net .uri .UriUtils ;
1820
1921import java .io .File ;
2022import 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 ;
You can’t perform that action at this time.
0 commit comments