List of usage examples for android.content Intent getData
public @Nullable Uri getData()
From source file:com.csipsimple.service.Downloader.java
@Override protected void onHandleIntent(Intent intent) { HttpGet getMethod = new HttpGet(intent.getData().toString()); int result = Activity.RESULT_CANCELED; String outPath = intent.getStringExtra(EXTRA_OUTPATH); boolean checkMd5 = intent.getBooleanExtra(EXTRA_CHECK_MD5, false); int icon = intent.getIntExtra(EXTRA_ICON, 0); String title = intent.getStringExtra(EXTRA_TITLE); boolean showNotif = (icon > 0 && !TextUtils.isEmpty(title)); // Build notification Builder nb = new NotificationCompat.Builder(this); nb.setWhen(System.currentTimeMillis()); nb.setContentTitle(title);// w w w. ja v a2 s .c om nb.setSmallIcon(android.R.drawable.stat_sys_download); nb.setOngoing(true); Intent i = new Intent(this, SipHome.class); nb.setContentIntent(PendingIntent.getActivity(this, 0, i, PendingIntent.FLAG_UPDATE_CURRENT)); RemoteViews contentView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.download_notif); contentView.setImageViewResource(R.id.status_icon, icon); contentView.setTextViewText(R.id.status_text, getResources().getString(R.string.downloading_text)); contentView.setProgressBar(R.id.status_progress, 50, 0, false); contentView.setViewVisibility(R.id.status_progress_wrapper, View.VISIBLE); nb.setContent(contentView); final Notification notification = showNotif ? nb.build() : null; notification.contentView = contentView; if (!TextUtils.isEmpty(outPath)) { try { File output = new File(outPath); if (output.exists()) { output.delete(); } if (notification != null) { notificationManager.notify(NOTIF_DOWNLOAD, notification); } ResponseHandler<Boolean> responseHandler = new FileStreamResponseHandler(output, new Progress() { private int oldState = 0; @Override public void run(long progress, long total) { //Log.d(THIS_FILE, "Progress is "+progress+" on "+total); int newState = (int) Math.round(progress * 50.0f / total); if (oldState != newState) { notification.contentView.setProgressBar(R.id.status_progress, 50, newState, false); notificationManager.notify(NOTIF_DOWNLOAD, notification); oldState = newState; } } }); boolean hasReply = client.execute(getMethod, responseHandler); if (hasReply) { if (checkMd5) { URL url = new URL(intent.getData().toString().concat(".md5sum")); InputStream content = (InputStream) url.getContent(); if (content != null) { BufferedReader br = new BufferedReader(new InputStreamReader(content)); String downloadedMD5 = ""; try { downloadedMD5 = br.readLine().split(" ")[0]; } catch (NullPointerException e) { throw new IOException("md5_verification : no sum on server"); } if (!MD5.checkMD5(downloadedMD5, output)) { throw new IOException("md5_verification : incorrect"); } } } PendingIntent pendingIntent = (PendingIntent) intent .getParcelableExtra(EXTRA_PENDING_FINISH_INTENT); try { Runtime.getRuntime().exec("chmod 644 " + outPath); } catch (IOException e) { Log.e(THIS_FILE, "Unable to make the apk file readable", e); } Log.d(THIS_FILE, "Download finished of : " + outPath); if (pendingIntent != null) { notification.contentIntent = pendingIntent; notification.flags = Notification.FLAG_AUTO_CANCEL; notification.icon = android.R.drawable.stat_sys_download_done; notification.contentView.setViewVisibility(R.id.status_progress_wrapper, View.GONE); notification.contentView.setTextViewText(R.id.status_text, getResources().getString(R.string.done) // TODO should be a parameter of this class + " - Click to install"); notificationManager.notify(NOTIF_DOWNLOAD, notification); /* try { pendingIntent.send(); notificationManager.cancel(NOTIF_DOWNLOAD); } catch (CanceledException e) { Log.e(THIS_FILE, "Impossible to start pending intent for download finish"); } */ } else { Log.w(THIS_FILE, "Invalid pending intent for finish !!!"); } result = Activity.RESULT_OK; } } catch (IOException e) { Log.e(THIS_FILE, "Exception in download", e); } } if (result == Activity.RESULT_CANCELED) { notificationManager.cancel(NOTIF_DOWNLOAD); } }
From source file:com.sonetel.service.Downloader.java
@Override protected void onHandleIntent(Intent intent) { HttpGet getMethod = new HttpGet(intent.getData().toString()); int result = Activity.RESULT_CANCELED; String outPath = intent.getStringExtra(EXTRA_OUTPATH); boolean checkMd5 = intent.getBooleanExtra(EXTRA_CHECK_MD5, false); int icon = intent.getIntExtra(EXTRA_ICON, 0); String title = intent.getStringExtra(EXTRA_TITLE); boolean showNotif = (icon > 0 && !TextUtils.isEmpty(title)); // Build notification Builder nb = new NotificationCompat.Builder(this); nb.setWhen(System.currentTimeMillis()); nb.setContentTitle(title);/*from ww w . ja v a 2 s. c o m*/ nb.setSmallIcon(android.R.drawable.stat_sys_download); nb.setOngoing(true); Intent i = new Intent(this, SipHome.class); nb.setContentIntent(PendingIntent.getActivity(this, 0, i, PendingIntent.FLAG_UPDATE_CURRENT)); RemoteViews contentView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.download_notif); contentView.setImageViewResource(R.id.status_icon, icon); contentView.setTextViewText(R.id.status_text, getResources().getString(R.string.downloading_text)); contentView.setProgressBar(R.id.status_progress, 50, 0, false); contentView.setViewVisibility(R.id.status_progress_wrapper, View.VISIBLE); nb.setContent(contentView); final Notification notification = showNotif ? nb.getNotification() : null; notification.contentView = contentView; if (!TextUtils.isEmpty(outPath)) { try { File output = new File(outPath); if (output.exists()) { output.delete(); } if (notification != null) { notificationManager.notify(NOTIF_DOWNLOAD, notification); } ResponseHandler<Boolean> responseHandler = new FileStreamResponseHandler(output, new Progress() { private int oldState = 0; @Override public void run(long progress, long total) { //Log.d(THIS_FILE, "Progress is "+progress+" on "+total); int newState = (int) Math.round(progress * 50.0f / total); if (oldState != newState) { notification.contentView.setProgressBar(R.id.status_progress, 50, newState, false); notificationManager.notify(NOTIF_DOWNLOAD, notification); oldState = newState; } } }); boolean hasReply = client.execute(getMethod, responseHandler); if (hasReply) { if (checkMd5) { URL url = new URL(intent.getData().toString().concat(".md5sum")); InputStream content = (InputStream) url.getContent(); if (content != null) { BufferedReader br = new BufferedReader(new InputStreamReader(content)); String downloadedMD5 = ""; try { downloadedMD5 = br.readLine().split(" ")[0]; } catch (NullPointerException e) { throw new IOException("md5_verification : no sum on server"); } if (!MD5.checkMD5(downloadedMD5, output)) { throw new IOException("md5_verification : incorrect"); } } } PendingIntent pendingIntent = (PendingIntent) intent .getParcelableExtra(EXTRA_PENDING_FINISH_INTENT); try { Runtime.getRuntime().exec("chmod 644 " + outPath); } catch (IOException e) { Log.e(THIS_FILE, "Unable to make the apk file readable", e); } Log.d(THIS_FILE, "Download finished of : " + outPath); if (pendingIntent != null) { notification.contentIntent = pendingIntent; notification.flags = Notification.FLAG_AUTO_CANCEL; notification.icon = android.R.drawable.stat_sys_download_done; notification.contentView.setViewVisibility(R.id.status_progress_wrapper, View.GONE); notification.contentView.setTextViewText(R.id.status_text, getResources().getString(R.string.done) // TODO should be a parameter of this class + " - Click to install"); notificationManager.notify(NOTIF_DOWNLOAD, notification); /* try { pendingIntent.send(); notificationManager.cancel(NOTIF_DOWNLOAD); } catch (CanceledException e) { Log.e(THIS_FILE, "Impossible to start pending intent for download finish"); } */ } else { Log.w(THIS_FILE, "Invalid pending intent for finish !!!"); } result = Activity.RESULT_OK; } } catch (IOException e) { Log.e(THIS_FILE, "Exception in download", e); } } if (result == Activity.RESULT_CANCELED) { notificationManager.cancel(NOTIF_DOWNLOAD); } }
From source file:com.codebutler.farebot.activities.MainActivity.java
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { try {/*from w w w .ja v a 2s . co m*/ if (resultCode == RESULT_OK && requestCode == SELECT_FILE) { Uri uri = data.getData(); String xml = org.apache.commons.io.FileUtils.readFileToString(new File(uri.getPath())); onCardsImported(ExportHelper.importCardsXml(this, xml)); } } catch (Exception ex) { Utils.showError(this, ex); } }
From source file:com.remobile.contacts.ContactManager.java
/** * Called when user picks contact./*from w ww .j a v a 2 s. co m*/ * @param requestCode The request code originally supplied to startActivityForResult(), * allowing you to identify who this result came from. * @param resultCode The integer result code returned by the child activity through its setResult(). * @param intent An Intent, which can return result data to the caller (various data can be attached to Intent "extras"). * @throws JSONException */ public void onActivityResult(int requestCode, int resultCode, final Intent intent) { if (requestCode == cordova.CONTACT_PICKER_RESULT) { if (resultCode == Activity.RESULT_OK) { String contactId = intent.getData().getLastPathSegment(); // to populate contact data we require Raw Contact ID // so we do look up for contact raw id first Cursor c = this.cordova.getActivity().getContentResolver().query(RawContacts.CONTENT_URI, new String[] { RawContacts._ID }, RawContacts.CONTACT_ID + " = " + contactId, null, null); if (!c.moveToFirst()) { this.callbackContext.error("Error occured while retrieving contact raw id"); return; } String id = c.getString(c.getColumnIndex(RawContacts._ID)); c.close(); try { JSONObject contact = contactAccessor.getContactById(id); this.callbackContext.success(contact); return; } catch (JSONException e) { Log.e(LOG_TAG, "JSON fail.", e); } } else if (resultCode == Activity.RESULT_CANCELED) { this.callbackContext .sendPluginResult(new PluginResult(PluginResult.Status.NO_RESULT, UNKNOWN_ERROR)); return; } this.callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.ERROR, UNKNOWN_ERROR)); } }
From source file:ca.rmen.android.poetassistant.main.MainActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { if (BuildConfig.DEBUG && ActivityManager.isUserAMonkey()) { requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); }//from www.j a v a2s . co m super.onCreate(savedInstanceState); Log.d(TAG, "onCreate() called with: " + "savedInstanceState = [" + savedInstanceState + "]"); mBinding = DataBindingUtil.setContentView(this, R.layout.activity_main); setSupportActionBar(mBinding.toolbar); Intent intent = getIntent(); Uri data = intent.getData(); mPagerAdapter = new PagerAdapter(this, getSupportFragmentManager(), intent); mPagerAdapter.registerDataSetObserver(mAdapterChangeListener); // Set up the ViewPager with the sections adapter. mBinding.viewPager.setAdapter(mPagerAdapter); mBinding.viewPager.setOffscreenPageLimit(5); mBinding.viewPager.addOnPageChangeListener(mOnPageChangeListener); mBinding.tabs.setupWithViewPager(mBinding.viewPager); AppBarLayoutHelper.enableAutoHide(mBinding); mAdapterChangeListener.onChanged(); // If the app was launched with a query for the a particular tab, focus on that tab. if (data != null && data.getHost() != null) { Tab tab = Tab.parse(data.getHost()); if (tab == null) tab = Tab.DICTIONARY; mBinding.viewPager.setCurrentItem(mPagerAdapter.getPositionForTab(tab)); } else if (Intent.ACTION_SEND.equals(intent.getAction())) { mBinding.viewPager.setCurrentItem(mPagerAdapter.getPositionForTab(Tab.READER)); } mSearch = new Search(this, mBinding.viewPager); loadDictionaries(); setVolumeControlStream(AudioManager.STREAM_MUSIC); }
From source file:com.googlecode.android_scripting.facade.ContactsFacade.java
@Rpc(description = "Displays a list of phone numbers to pick from.", returns = "The selected phone number.") public String pickPhone() throws JSONException { String result = null;/*from w w w . jav a 2 s . c om*/ Intent data = mCommonIntentsFacade.pick("content://contacts/phones"); if (data != null) { Uri phoneData = data.getData(); Cursor cursor = mService.getContentResolver().query(phoneData, null, null, null, null); if (cursor != null) { if (cursor.moveToFirst()) { result = cursor.getString(cursor.getColumnIndexOrThrow(PhonesColumns.NUMBER)); } cursor.close(); } } return result; }
From source file:com.albedinsky.android.support.intent.ContentIntentTest.java
public void testBuildWithInputUri() { mIntent.input(Uri.parse("content://android/data/images/lion.jpg")); mIntent.dataType(MimeType.IMAGE_JPEG); final Intent intent = mIntent.build(); assertNotNull(intent);// w w w .ja v a 2s. c o m assertEquals(Intent.ACTION_VIEW, intent.getAction()); assertEquals(Uri.parse("content://android/data/images/lion.jpg"), intent.getData()); assertEquals(MimeType.IMAGE_JPEG, intent.getType()); }
From source file:com.cn.pppcar.UserBaseInformationAct.java
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { if (requestCode == Constants.REQUEST_OPEN_GALARY_FOR_HEAD_PORTRAIT) { final Uri selectedUri = data.getData(); if (selectedUri != null) { imageHandler.startCropActivity(data.getData(), UserBaseInformationAct.this); } else { Toast.makeText(this, R.string.toast_cannot_retrieve_selected_image, Toast.LENGTH_SHORT).show(); }//from w w w .ja va 2s . c om } else if (requestCode == UCrop.REQUEST_CROP) { handleCropResult(data); } else if (requestCode == Constants.REQUEST_OPEN_CAMERA_FOR_HEAD_PORTRAIT) { Uri uri = imageHandler.getCapturedImageUri(); imageHandler.startCropActivity(uri, UserBaseInformationAct.this); } else if (requestCode == Constants.REQUEST_OPEN_GALARY_FOR_BUSINESS_LICENSE) { final Uri selectedUri = data.getData(); if (selectedUri != null) { licenseImg.setImageURI(selectedUri); } else { Toast.makeText(this, "?Uri", Toast.LENGTH_SHORT).show(); } } else if (requestCode == Constants.REQUEST_OPEN_CAMERA_FOR_BUSINESS_LICENSE) { Uri uri = imageHandler.getCapturedImageUri(); Bitmap bmp = imageHandler.decodeSampledBitmapFromFile(uri.getPath(), 600, 800); uri = imageHandler.compress(UserBaseInformationAct.this, bmp); licenseImg.setImageURI(uri); } } if (resultCode == UCrop.RESULT_ERROR) { imageHandler.handleCropError(data, UserBaseInformationAct.this); } }
From source file:fr.bmartel.android.iotf.app.ConnectActivity.java
/** * Load URI file/*ww w . ja va 2s. c om*/ * * @param intent * @return */ private String loadFile(Intent intent) { try { BufferedReader buffer = new BufferedReader( new InputStreamReader(getContentResolver().openInputStream(intent.getData()))); StringBuilder sb = new StringBuilder(); String line; while ((line = buffer.readLine()) != null) { sb.append(line); } return sb.toString(); } catch (Exception e) { e.printStackTrace(); } return ""; }
From source file:com.alanddev.gmscall.fragment.DeviceDetailFragment.java
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { // User has picked an image. Transfer it to group owner i.e peer using // FileTransferService. Uri uri = data.getData(); TextView statusText = (TextView) mContentView.findViewById(R.id.status_text); statusText.setText("Sending: " + uri); //Log.d(WiFiDirectActivity.TAG, "Intent----------- " + uri); Intent serviceIntent = new Intent(getActivity(), FileTransferService.class); serviceIntent.setAction(FileTransferService.ACTION_SEND_FILE); serviceIntent.putExtra(FileTransferService.EXTRAS_FILE_PATH, uri.toString()); serviceIntent.putExtra(FileTransferService.EXTRAS_GROUP_OWNER_ADDRESS, info.groupOwnerAddress.getHostAddress()); serviceIntent.putExtra(FileTransferService.EXTRAS_GROUP_OWNER_PORT, 8988); getActivity().startService(serviceIntent); }