Instagram application does not open with Android Intent

Viewed 3144

This is my code, the thing is I don't want to send images I just want the IG app to open. Yes the app is installed but still it is not getting picked up.

This was working fine till last week. Please help.

Uri uri = Uri.parse("http://instagram.com/");
            Intent insta = new Intent(Intent.ACTION_VIEW, uri);
            insta.setPackage("com.instagram.android");

            if (isIntentAvailable(insta)) {
                this.startActivityForResult(insta, REQUEST_CODE_MY_PICK);
            } else {
            }

private boolean isIntentAvailable(Intent intent) {
        final PackageManager packageManager = getPackageManager();
        List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
        return list.size() > 0;
    }

2 Answers

Try this

Uri appUri = Uri.parse("https://instagram.com/_u/user_name");
Uri browserUri = Uri.parse("https://instagram.com/user_name");

try{ //first try to open in instagram app
  Intent appIntent = getPackageManager().getLaunchIntentForPackage("com.instagram.android");
  if(appIntent != null){
     appIntent.setAction(Intent.ACTION_VIEW)
     appIntent.setData(appUri);
     startActivity(appIntent);
  }
}catch(Exception e){ //or else open in browser
   Intent browserIntent = new Intent(Intent.ACTION_VIEW, browserUri);
   startActivity(browserIntent);
}

Try to replace Uri.parse("http://instagram.com/") with Uri.parse("https://instagram.com/"). Also try to remove the isIntentAvailable and just call startActivity(insta) without 'forResult' and lastly remove insta.setPackage line.

Related