package
com.example.checkifappisinstalled;
import
android.content.Intent;
import
android.content.pm.PackageManager;
import
android.os.Bundle;
import
android.view.View;
import
android.widget.Button;
import
android.widget.EditText;
import
android.widget.Toast;
import
androidx.appcompat.app.AppCompatActivity;
public
class
MainActivity
extends
AppCompatActivity {
EditText editText;
Button check, open;
boolean
flag =
false
;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
check = findViewById(R.id.check);
open = findViewById(R.id.open);
editText = findViewById(R.id.name);
check.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View view) {
if
(available(editText.getText().toString())) {
Toast.makeText(MainActivity.
this
,
"Available"
, Toast.LENGTH_LONG).show();
flag =
true
;
setvalue(flag);
}
else
{
flag =
false
;
setvalue(flag);
Toast.makeText(MainActivity.
this
,
"Not Available"
, Toast.LENGTH_LONG).show();
}
}
});
if
(flag) {
open.setVisibility(View.VISIBLE);
}
else
{
open.setVisibility(View.INVISIBLE);
}
open.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View view) {
Intent intent = getPackageManager().getLaunchIntentForPackage(editText.getText().toString());
if
(intent !=
null
) {
startActivity(intent);
}
}
});
}
private
void
setvalue(
boolean
flag) {
if
(flag) {
open.setVisibility(View.VISIBLE);
}
else
{
open.setVisibility(View.INVISIBLE);
}
}
private
boolean
available(String name) {
boolean
available =
true
;
try
{
getPackageManager().getPackageInfo(name,
0
);
}
catch
(PackageManager.NameNotFoundException e) {
available =
false
;
}
return
available;
}
@Override
protected
void
onStart() {
super
.onStart();
}
}