package com.laowch.githubtrends.utils; import android.content.Context; import android.content.Intent; import android.net.Uri; import com.laowch.githubtrends.Constants; import com.laowch.githubtrends.ui.AboutActivity; import com.laowch.githubtrends.ui.AddLanguagesActivity; import com.laowch.githubtrends.ui.CustomLanguagesActivity; import com.laowch.githubtrends.ui.FavoritesActivity; /** * Created by lao on 15/9/24. */ public class IntentUtils { public static void openAbout(Context context) { Intent intent = new Intent(context, AboutActivity.class); context.startActivity(intent); } public static void openFavos(final Context context) { Intent intent = new Intent(context, FavoritesActivity.class); context.startActivity(intent); } public static void openCustomLanguage(Context context) { Intent intent = new Intent(context, CustomLanguagesActivity.class); context.startActivity(intent); } public static void openRemoveLanguage(Context context) { Intent intent = new Intent(context, CustomLanguagesActivity.class); intent.putExtra("mode", Constants.MODE_REMOVE); context.startActivity(intent); } public static void openAddLanguage(Context context) { Intent intent = new Intent(context, AddLanguagesActivity.class); context.startActivity(intent); } public static void openExternalUrl(final Context context, String url) { // process url like intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end" // ref: https://developer.chrome.com/multidevice/android/intents try { if (url.startsWith("intent")) { int schemeStart = url.indexOf("scheme=") + "scheme=".length(); int schemeEnd = url.indexOf(';', schemeStart); String scheme = url.substring(schemeStart, schemeEnd); url = scheme + url.substring("intent".length()); } } catch (Exception ex) { } try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); context.startActivity(intent); } catch (Exception ex) { } } }