@@ -1997,29 +1997,22 @@ private static void startActivity(final Context context,
19971997 private static boolean startActivity (final Intent intent ,
19981998 final Context context ,
19991999 final Bundle options ) {
2000- if (!isIntentAvailable (intent )) {
2001- Log .e ("ActivityUtils" , "intent is unavailable" );
2002- return false ;
2003- }
20042000 if (!(context instanceof Activity )) {
20052001 intent .addFlags (Intent .FLAG_ACTIVITY_NEW_TASK );
20062002 }
2007- if (options != null && Build .VERSION .SDK_INT >= Build .VERSION_CODES .JELLY_BEAN ) {
2008- context .startActivity (intent , options );
2009- } else {
2010- context .startActivity (intent );
2003+ try {
2004+ if (options != null && Build .VERSION .SDK_INT >= Build .VERSION_CODES .JELLY_BEAN ) {
2005+ context .startActivity (intent , options );
2006+ } else {
2007+ context .startActivity (intent );
2008+ }
2009+ } catch (Exception e ) {
2010+ Log .e ("ActivityUtils" , "An exception occurred in startActivity, error message: " + e .getLocalizedMessage ());
2011+ return false ;
20112012 }
20122013 return true ;
20132014 }
20142015
2015- private static boolean isIntentAvailable (final Intent intent ) {
2016- // return Utils.getApp()
2017- // .getPackageManager()
2018- // .queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY)
2019- // .size() > 0;
2020- return true ;
2021- }
2022-
20232016 private static boolean startActivityForResult (final Activity activity ,
20242017 final Bundle extras ,
20252018 final String pkg ,
@@ -2036,15 +2029,16 @@ private static boolean startActivityForResult(final Intent intent,
20362029 final Activity activity ,
20372030 final int requestCode ,
20382031 @ Nullable final Bundle options ) {
2039- if (!isIntentAvailable (intent )) {
2040- Log .e ("ActivityUtils" , "intent is unavailable" );
2032+ try {
2033+ if (options != null && Build .VERSION .SDK_INT >= Build .VERSION_CODES .JELLY_BEAN ) {
2034+ activity .startActivityForResult (intent , requestCode , options );
2035+ } else {
2036+ activity .startActivityForResult (intent , requestCode );
2037+ }
2038+ } catch (Exception e ) {
2039+ Log .e ("ActivityUtils" , "An exception occurred in startActivityForResult, error message: " + e .getLocalizedMessage ());
20412040 return false ;
20422041 }
2043- if (options != null && Build .VERSION .SDK_INT >= Build .VERSION_CODES .JELLY_BEAN ) {
2044- activity .startActivityForResult (intent , requestCode , options );
2045- } else {
2046- activity .startActivityForResult (intent , requestCode );
2047- }
20482042 return true ;
20492043 }
20502044
@@ -2079,18 +2073,19 @@ private static boolean startActivityForResult(final Intent intent,
20792073 final Fragment fragment ,
20802074 final int requestCode ,
20812075 @ Nullable final Bundle options ) {
2082- if (!isIntentAvailable (intent )) {
2083- Log .e ("ActivityUtils" , "intent is unavailable" );
2084- return false ;
2085- }
20862076 if (fragment .getActivity () == null ) {
20872077 Log .e ("ActivityUtils" , "Fragment " + fragment + " not attached to Activity" );
20882078 return false ;
20892079 }
2090- if (options != null && Build .VERSION .SDK_INT >= Build .VERSION_CODES .JELLY_BEAN ) {
2091- fragment .startActivityForResult (intent , requestCode , options );
2092- } else {
2093- fragment .startActivityForResult (intent , requestCode );
2080+ try {
2081+ if (options != null && Build .VERSION .SDK_INT >= Build .VERSION_CODES .JELLY_BEAN ) {
2082+ fragment .startActivityForResult (intent , requestCode , options );
2083+ } else {
2084+ fragment .startActivityForResult (intent , requestCode );
2085+ }
2086+ } catch (Exception e ) {
2087+ Log .e ("ActivityUtils" , "An exception occurred in fragment.startActivityForResult, error message: " + e .getLocalizedMessage ());
2088+ return false ;
20942089 }
20952090 return true ;
20962091 }
0 commit comments