package com.jopek.submittodatiinator; import android.annotation.SuppressLint; import android.app.ProgressDialog; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.provider.OpenableColumns; import android.util.Log; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { /********** File Path *************/ TextView messageText; ProgressDialog dialog = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); messageText = findViewById(R.id.tv); //dialog = ProgressDialog.show(MainActivity.this, "", "Uploading file...", true); Intent intent = getIntent(); String action = intent.getAction(); String type = intent.getType(); Uri fileUri = null; if (Intent.ACTION_SEND.equals(action) && type != null) { Object object = intent.getParcelableExtra(Intent.EXTRA_STREAM); if(object != null && object instanceof Uri) fileUri = (Uri) object; // if (type.startsWith("image/")) { // fileUri = intent.getParcelableExtra(Intent.EXTRA_STREAM); // } // if (type.startsWith("video/")) { // fileUri = intent.getParcelableExtra(Intent.EXTRA_STREAM); // } // if (type.startsWith("application/")) { // fileUri = intent.getParcelableExtra(Intent.EXTRA_STREAM); // } } Log.d("maks", "45: fileUri: " + fileUri); if (fileUri != null) { // String sourceFileUri = getRealPathFromURI(fileUri); String sourceFileUri = fileUri.getPath(); Uri finalFileUri = fileUri; new Thread(() -> { runOnUiThread(() -> messageText.setText("uploading started...")); Log.d("maks", "onCreate: " + sourceFileUri); Requests.ReturnValues retVal = Requests.uploadFile(this, finalFileUri); switch (retVal) { case MALFORMED_URL: case NO_FILE: case SERVER_ERROR: runOnUiThread(() -> messageText.setText("error while uploading...")); break; case OK: runOnUiThread(() -> messageText.setText("File uploaded!")); break; } }).start(); } } public String getRealPathFromURI(Uri contentUri) { Cursor cursor = null; try { cursor = this.getContentResolver().query(contentUri, new String[]{android.provider.MediaStore.Images.ImageColumns.DATA}, null, null, null); cursor.moveToFirst(); String filePath = cursor.getString(0); cursor.close(); return filePath; } finally { if (cursor != null) { cursor.close(); } } } }