Example usage for android.content Intent createChooser

List of usage examples for android.content Intent createChooser

Introduction

In this page you can find the example usage for android.content Intent createChooser.

Prototype

public static Intent createChooser(Intent target, CharSequence title) 

Source Link

Document

Convenience function for creating a #ACTION_CHOOSER Intent.

Usage

From source file:bander.notepad.NoteEditAppCompat.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        onBackPressed();/*from ww w .jav  a2s . co m*/
        return true;
    case R.id.home:
        onBackPressed();
        return true;
    case DELETE_ID:
        deleteNote(this, mUri);
        return true;
    case REVERT_ID:
        mBodyText.setTextKeepState(mOriginalNote.getBody());
        return true;
    case SEND_ID:
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/plain");
        intent.putExtra(Intent.EXTRA_TEXT, mBodyText.getText().toString());
        startActivity(Intent.createChooser(intent, getString(R.string.menu_send)));
        return true;
    case PREFS_ID:
        Intent prefsActivity = new Intent(this, PrefsActivityAppCompat.class);
        startActivity(prefsActivity);
        return true;
    }
    return super.onOptionsItemSelected(item);
}

From source file:com.scoreflex.ScoreflexView.java

/**
 * The constructor of the view./* w w w  .ja v  a 2s  .co  m*/
 * @param activity The activity holding the view.
 * @param attrs
 * @param defStyle
 */
@SuppressWarnings("deprecation")
public ScoreflexView(Activity activity, AttributeSet attrs, int defStyle) {
    super(activity, attrs, defStyle);

    // Keep a reference on the activity
    mParentActivity = activity;

    // Default layout params
    if (null == getLayoutParams()) {
        setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                Scoreflex.getDensityIndependantPixel(R.dimen.scoreflex_panel_height)));
    }

    // Set our background color
    setBackgroundColor(getContext().getResources().getColor(R.color.scoreflex_background_color));

    // Create the top bar
    View topBar = new View(getContext());
    topBar.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
            getResources().getDimensionPixelSize(R.dimen.scoreflex_topbar_height), Gravity.TOP));
    topBar.setBackgroundDrawable(getResources().getDrawable(R.drawable.scoreflex_gradient_background));
    addView(topBar);

    // Create the retry button
    LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    mErrorLayout = (ViewGroup) inflater.inflate(R.layout.scoreflex_error_layout, null);
    if (mErrorLayout != null) {

        // Configure refresh button
        Button refreshButton = (Button) mErrorLayout.findViewById(R.id.scoreflex_retry_button);
        if (null != refreshButton) {
            refreshButton.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    if (null == Scoreflex.getPlayerId()) {
                        setUserInterfaceState(new LoadingState());
                        loadUrlAfterLoggedIn(mInitialResource, mInitialRequestParams);
                    } else if (null == mWebView.getUrl()) {
                        setResource(mInitialResource);
                    } else {
                        mWebView.reload();
                    }
                }
            });
        }

        // Configure cancel button
        Button cancelButton = (Button) mErrorLayout.findViewById(R.id.scoreflex_cancel_button);
        if (null != cancelButton) {
            cancelButton.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    close();
                }
            });
        }

        // Get hold of the message view
        mMessageView = (TextView) mErrorLayout.findViewById(R.id.scoreflex_error_message_view);
        addView(mErrorLayout);

    }

    // Create the close button
    mCloseButton = new ImageButton(getContext());
    Drawable closeButtonDrawable = getResources().getDrawable(R.drawable.scoreflex_close_button);
    int closeButtonMargin = (int) ((getResources().getDimensionPixelSize(R.dimen.scoreflex_topbar_height)
            - closeButtonDrawable.getIntrinsicHeight()) / 2.0f);
    FrameLayout.LayoutParams closeButtonLayoutParams = new FrameLayout.LayoutParams(
            ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT,
            Gravity.TOP | Gravity.RIGHT);
    closeButtonLayoutParams.setMargins(0, closeButtonMargin, closeButtonMargin, 0);
    mCloseButton.setLayoutParams(closeButtonLayoutParams);
    mCloseButton.setImageDrawable(closeButtonDrawable);
    mCloseButton.setBackgroundDrawable(null);
    mCloseButton.setPadding(0, 0, 0, 0);
    mCloseButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            close();
        }
    });
    addView(mCloseButton);

    // Create the web view
    mWebView = new WebView(mParentActivity);
    mWebView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.MATCH_PARENT));
    // mWebView.setBackgroundColor(Color.RED);
    mWebView.setWebViewClient(new ScoreflexWebViewClient());
    mWebView.setWebChromeClient(new WebChromeClient() {

        @Override
        public boolean onConsoleMessage(ConsoleMessage cm) {
            Log.d("Scoreflex", "javascript Error: "
                    + String.format("%s @ %d: %s", cm.message(), cm.lineNumber(), cm.sourceId()));
            return true;
        }

        public void openFileChooser(ValueCallback<Uri> uploadMsg) {
            // mtbActivity.mUploadMessage = uploadMsg;
            mUploadMessage = uploadMsg;

            String fileName = "picture.jpg";
            ContentValues values = new ContentValues();
            values.put(MediaStore.Images.Media.TITLE, fileName);
            // mOutputFileUri = mParentActivity.getContentResolver().insert(
            // MediaStore.Images.Media.DATA, values);
            final List<Intent> cameraIntents = new ArrayList<Intent>();
            final Intent captureIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            final PackageManager packageManager = mParentActivity.getPackageManager();
            final List<ResolveInfo> listCam = packageManager.queryIntentActivities(captureIntent, 0);
            for (ResolveInfo res : listCam) {
                final String packageName = res.activityInfo.packageName;
                final Intent intent = new Intent(captureIntent);
                intent.setComponent(new ComponentName(res.activityInfo.packageName, res.activityInfo.name));
                intent.setPackage(packageName);
                cameraIntents.add(intent);
            }

            // Filesystem.
            final Intent galleryIntent = new Intent();
            galleryIntent.setType("image/*");
            galleryIntent.setAction(Intent.ACTION_GET_CONTENT);

            // Chooser of filesystem options.
            final Intent chooserIntent = Intent.createChooser(galleryIntent, "Select Source please");

            // Add the camera options.
            chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, cameraIntents.toArray(new Parcelable[] {}));

            mParentActivity.startActivityForResult(chooserIntent, Scoreflex.FILECHOOSER_RESULTCODE);
        }

        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) {
            openFileChooser(uploadMsg);
        }

        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
            openFileChooser(uploadMsg);
        }
    });
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setDomStorageEnabled(true);
    mWebView.getSettings().setDatabasePath(
            getContext().getFilesDir().getPath() + "/data/" + getContext().getPackageName() + "/databases/");
    addView(mWebView);

    TypedArray a = mParentActivity.obtainStyledAttributes(attrs, R.styleable.ScoreflexView, defStyle, 0);
    String resource = a.getString(R.styleable.ScoreflexView_resource);
    if (null != resource)
        setResource(resource);

    a.recycle();

    // Create the animated spinner

    mProgressBar = (ProgressBar) ((LayoutInflater) getContext()
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.scoreflex_progress_bar, null);
    mProgressBar.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.CENTER));
    addView(mProgressBar);
    LocalBroadcastManager.getInstance(activity).registerReceiver(mLoginReceiver,
            new IntentFilter(Scoreflex.INTENT_USER_LOGED_IN));
    setUserInterfaceState(new InitialState());
}

From source file:com.MustacheMonitor.MustacheMonitor.StacheCam.java

/**
 * Get image from photo library.//from w  w w  . ja  v a 2 s  .  c  om
 *
 * @param quality           Compression quality hint (0-100: 0=low quality & high compression, 100=compress of max quality)
 * @param srcType           The album to get image from.
 * @param returnType        Set the type of image to return.
 */
// TODO: Images selected from SDCARD don't display correctly, but from CAMERA ALBUM do!
public void getImage(int srcType, int returnType) {
    Intent intent = new Intent();
    String title = GET_PICTURE;
    if (this.mediaType == PICTURE) {
        intent.setType("image/*");
    } else if (this.mediaType == VIDEO) {
        intent.setType("video/*");
        title = GET_VIDEO;
    } else if (this.mediaType == ALLMEDIA) {
        // I wanted to make the type 'image/*, video/*' but this does not work on all versions
        // of android so I had to go with the wildcard search.
        intent.setType("*/*");
        title = GET_All;
    }

    intent.setAction(Intent.ACTION_GET_CONTENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    if (this.cordova != null) {
        this.cordova.startActivityForResult((Plugin) this, Intent.createChooser(intent, new String(title)),
                (srcType + 1) * 16 + returnType + 1);
    }
}

From source file:com.mbientlab.metawear.app.SensorFragment.java

@Override
public void onViewCreated(final View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    chart = (LineChart) view.findViewById(R.id.data_chart);

    initializeChart();//from   w  w  w .  java2  s  .  c  o m
    resetData(false);
    chart.invalidate();

    view.findViewById(R.id.data_clear).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            chart.resetTracking();
            chart.clear();
            resetData(true);
            chart.invalidate();
        }
    });
    ((Switch) view.findViewById(R.id.sample_control))
            .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                    if (b) {
                        moveViewToLast();
                        setup();
                        chartHandler.postDelayed(updateChartTask, UPDATE_PERIOD);
                    } else {
                        chart.setVisibleXRangeMaximum(sampleCount);
                        clean();
                        if (streamRouteManager != null) {
                            streamRouteManager.remove();
                            streamRouteManager = null;
                        }
                        chartHandler.removeCallbacks(updateChartTask);
                    }
                }
            });

    view.findViewById(R.id.data_save).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String filename = saveData();

            if (filename != null) {
                File dataFile = getActivity().getFileStreamPath(filename);
                Uri contentUri = FileProvider.getUriForFile(getActivity(),
                        "com.mbientlab.metawear.app.fileprovider", dataFile);

                Intent intent = new Intent(Intent.ACTION_SEND);
                intent.setType("text/plain");
                intent.putExtra(Intent.EXTRA_SUBJECT, filename);
                intent.putExtra(Intent.EXTRA_STREAM, contentUri);
                startActivity(Intent.createChooser(intent, "Saving Data"));
            }
        }
    });
}

From source file:com.amaze.carbonfilemanager.utils.files.Futils.java

public static void openunknown(File f, Context c, boolean forcechooser) {
    Intent intent = new Intent();
    intent.setAction(android.content.Intent.ACTION_VIEW);

    String type = MimeTypes.getMimeType(f);
    if (type != null && type.trim().length() != 0 && !type.equals("*/*")) {
        Uri uri = fileToContentUri(c, f);
        if (uri == null)
            uri = Uri.fromFile(f);//from  w  ww  .j av a 2s  . c o m
        intent.setDataAndType(uri, type);
        Intent startintent;
        if (forcechooser)
            startintent = Intent.createChooser(intent, c.getResources().getString(R.string.openwith));
        else
            startintent = intent;
        try {
            c.startActivity(startintent);
        } catch (ActivityNotFoundException e) {
            e.printStackTrace();
            Toast.makeText(c, R.string.noappfound, Toast.LENGTH_SHORT).show();
            openWith(f, c);
        }
    } else {
        openWith(f, c);
    }

}

From source file:com.crossconnect.activity.notemanager.NoteManagerBibleNotesFragment.java

@Override
public void onListItemClick(ListView l, View v, int pos, long id) {

    final int position = pos;

    //Get the corresponding resource
    final Note note = mAdapter.getItem(position);

    final ActionItem openAction = new ActionItem();

    openAction.setTitle("Open");
    openAction.setIcon(getResources().getDrawable(R.drawable.ic_action_search));

    final ActionItem deleteAction = new ActionItem();

    deleteAction.setTitle("Delete");
    deleteAction.setIcon(getResources().getDrawable(R.drawable.ic_action_delete));

    final ActionItem shareAction = new ActionItem();

    shareAction.setTitle("Share");
    shareAction.setIcon(getResources().getDrawable(R.drawable.ic_action_share));

    final QuickActionHorizontal mQuickAction = new QuickActionHorizontal(v);

    final String text = "blah";

    openAction.setOnClickListener(new OnClickListener() {
        @Override/*from  ww w.j  a  v a 2s.  c om*/
        public void onClick(View v) {
            Log.d(TAG, "Opening Notes:" + note.getBook() + " " + note.getChapter());
            //Open the note
            Intent i = new Intent();
            BibleText bibleText = new SwordBibleText(note.getBook(), note.getChapter(),
                    getActivity().getIntent().getExtras().getString("Translation"));
            SwordContentFacade.getInstance().injectChapterFromJsword(bibleText);
            i.putExtra("BibleText", bibleText);
            getActivity().setResult(Activity.RESULT_OK, i);
            getActivity().finish();
            mQuickAction.dismiss();
        }
    });

    deleteAction.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            BibleText bibleText = new SwordBibleText(note.getBook(), note.getChapter(),
                    getActivity().getIntent().getExtras().getString("Translation"));
            //TODO: should use this ID instead of key but will do for now need TABLE change
            //notesService.removeNote(note.getId());
            notesService.removeNote(bibleText.getKey());
            getLoaderManager().restartLoader(0, null, NoteManagerBibleNotesFragment.this);
            mAdapter.notifyDataSetChanged();
            mQuickAction.dismiss();
        }
    });

    //Check the links are actually there
    mQuickAction.addActionItem(openAction);
    mQuickAction.addActionItem(deleteAction);
    shareAction.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            String text = note.getText();
            Toast.makeText(getActivity(), "Share " + text, Toast.LENGTH_SHORT).show();
            Intent sendMailIntent = new Intent(Intent.ACTION_SEND);
            sendMailIntent.putExtra(Intent.EXTRA_SUBJECT, "CrossConnect Bible Verse");
            sendMailIntent.putExtra(Intent.EXTRA_TEXT,
                    text + " (" + note.getBook() + ":" + note.getChapter() + ")");
            sendMailIntent.setType("text/plain");
            getActivity().startActivity(Intent.createChooser(sendMailIntent, "Share using..."));
            mQuickAction.dismiss();
        }
    });
    mQuickAction.addActionItem(shareAction);

    mQuickAction.setAnimStyle(QuickActionVertical.ANIM_AUTO);

    mQuickAction.setOnDismissListener(new OnDismissListener() {
        @Override
        public void onDismiss() {
        }
    });

    mQuickAction.show();

    Log.i(TAG, "Item clicked: " + id);
}

From source file:net.networksaremadeofstring.rhybudd.ViewZenossEventFragment.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home: {
        getActivity().finish();/*from   w  w  w . j a  v  a2 s. co  m*/
        return true;
    }

    case R.id.AddLog: {
        try {
            addMessageDialog = new Dialog(getActivity());
            addMessageDialog.setContentView(R.layout.add_message);
            addMessageDialog.setTitle("Add Message to Event Log");
            ((Button) addMessageDialog.findViewById(R.id.SaveButton))
                    .setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            AddLogMessage(((EditText) addMessageDialog.findViewById(R.id.LogMessage)).getText()
                                    .toString());
                            addMessageDialog.dismiss();
                        }
                    });

            addMessageDialog.show();
            return true;
        } catch (Exception e) {
            BugSenseHandler.sendExceptionMessage("ViewZenossEventFragmentUpdate", "AddLog", e);
            return false;
        }
    }

    case R.id.escalate: {
        try {
            Intent intent = new Intent(android.content.Intent.ACTION_SEND);
            intent.setType("text/plain");
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);

            // Add data to the intent, the receiving app will decide what to do with it.
            intent.putExtra(Intent.EXTRA_SUBJECT, "Escalation of Zenoss Event on " + Title.getText());
            String EventDetails = Summary.getText() + "\r\r\n" + LastTime.getText() + "\r\r\n" + "Count: "
                    + EventCount.getText();

            intent.putExtra(Intent.EXTRA_TEXT, EventDetails);

            startActivity(Intent.createChooser(intent, "How would you like to escalate this event?"));
            return true;
        } catch (Exception e) {
            BugSenseHandler.sendExceptionMessage("ViewZenossEventFragmentUpdate", "escalate", e);
            return false;
        }
    }

    default: {
        return false;
    }
    }
}

From source file:sjizl.com.FileUploadTest2.java

public void openGallery(int req_code) {

    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select file to upload "), req_code);
}

From source file:com.doplgangr.secrecy.views.FileViewer.java

private Intent generateCustomChooserIntent(Intent prototype, ArrayList<Uri> uris) {
    List<Intent> targetedShareIntents = new ArrayList<Intent>();
    List<HashMap<String, String>> intentMetaInfo = new ArrayList<HashMap<String, String>>();
    Intent chooserIntent;/*  w  w  w  .  jav  a  2  s . com*/

    Intent dummy = new Intent(prototype.getAction());
    dummy.setType(prototype.getType());
    List<ResolveInfo> resInfo = context.getPackageManager().queryIntentActivities(dummy, 0);

    if (!resInfo.isEmpty()) {
        for (ResolveInfo resolveInfo : resInfo) {
            if (resolveInfo.activityInfo == null
                    || resolveInfo.activityInfo.packageName.equalsIgnoreCase("com.doplgangr.secrecy"))
                continue;

            HashMap<String, String> info = new HashMap<String, String>();
            info.put("packageName", resolveInfo.activityInfo.packageName);
            info.put("className", resolveInfo.activityInfo.name);
            info.put("simpleName",
                    String.valueOf(resolveInfo.activityInfo.loadLabel(context.getPackageManager())));
            intentMetaInfo.add(info);
            for (Uri uri : uris)
                context.grantUriPermission(resolveInfo.activityInfo.packageName, uri,
                        Intent.FLAG_GRANT_READ_URI_PERMISSION);
        }

        if (!intentMetaInfo.isEmpty()) {
            // sorting for nice readability
            Collections.sort(intentMetaInfo, new Comparator<HashMap<String, String>>() {
                @Override
                public int compare(HashMap<String, String> map, HashMap<String, String> map2) {
                    return map.get("simpleName").compareTo(map2.get("simpleName"));
                }
            });

            // create the custom intent list
            for (HashMap<String, String> metaInfo : intentMetaInfo) {
                Intent targetedShareIntent = (Intent) prototype.clone();
                targetedShareIntent.setPackage(metaInfo.get("packageName"));
                targetedShareIntent.setClassName(metaInfo.get("packageName"), metaInfo.get("className"));
                targetedShareIntents.add(targetedShareIntent);
            }
            chooserIntent = Intent.createChooser(targetedShareIntents.remove(targetedShareIntents.size() - 1),
                    CustomApp.context.getString(R.string.Dialog__send_file));
            chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,
                    targetedShareIntents.toArray(new Parcelable[targetedShareIntents.size()]));
            return chooserIntent;
        }
    }

    return new Intent(Intent.ACTION_SEND); //Unable to do anything. Duh.
}

From source file:com.bushstar.htmlcoin_android_wallet.ui.RequestCoinsFragment.java

private void handleShare() {
    final Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/plain");
    intent.putExtra(Intent.EXTRA_TEXT, determineHTMLcoinRequestStr(false));
    startActivity(Intent.createChooser(intent, getString(R.string.request_coins_share_dialog_title)));
}