package
com.example.fileextensionchekergfg;
import
android.app.Activity;
import
android.content.Intent;
import
android.database.Cursor;
import
android.net.Uri;
import
android.os.Bundle;
import
android.provider.OpenableColumns;
import
android.view.View;
import
android.widget.Button;
import
android.widget.TextView;
import
android.widget.Toast;
import
androidx.activity.result.ActivityResult;
import
androidx.activity.result.ActivityResultCallback;
import
androidx.activity.result.ActivityResultLauncher;
import
androidx.activity.result.contract.ActivityResultContracts;
import
androidx.appcompat.app.AppCompatActivity;
public
class
MainActivity
extends
AppCompatActivity {
Button btn;
TextView text;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = findViewById(R.id.button);
btn.setOnClickListener(
new
View.OnClickListener(){
@Override
public
void
onClick(View v)
{
Intent data =
new
Intent(Intent.ACTION_GET_CONTENT);
data.setType(
"*/*"
);
data = Intent.createChooser(data,
"Choose a file"
);
startActivityResultLauncher.launch(data);
}
});
}
ActivityResultLauncher<Intent> startActivityResultLauncher = registerForActivityResult(
new
ActivityResultContracts.StartActivityForResult(),
new
ActivityResultCallback<ActivityResult>() {
@Override
public
void
onActivityResult(ActivityResult result) {
if
(result.getResultCode() == Activity.RESULT_OK){
Intent data = result.getData();
Uri uri = data.getData();
String fileName =
null
;
if
(uri.getScheme().equals(
"content"
)) {
Cursor cursor = getContentResolver().query(uri,
null
,
null
,
null
,
null
);
try
{
if
(cursor !=
null
&& cursor.moveToFirst()) {
fileName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
}
}
finally
{
cursor.close();
}
}
if
(fileName ==
null
){
fileName = uri.getPath();
int
mark = fileName.lastIndexOf(
"/"
);
if
(mark != -
1
){
fileName = fileName.substring(mark +
1
);
}
}
String extension = fileName.substring(fileName.lastIndexOf(
"."
) +
1
);
text = findViewById(R.id.extensionTV);
text.setText(String.format(
"File extension is: %s"
, extension));
}
else
{
Toast.makeText(MainActivity.
this
,
"No file chosen"
, Toast.LENGTH_SHORT).show();
}
}
}
);
}