private void openPDF(SavedExpenseForm selectedExpenseForm) { try { var pathToPdf = global::Android.OS.Environment.ExternalStorageDirectory.AbsolutePath; pathToPdf = Path.Combine (pathToPdf, selectedExpenseForm.ID.ToString () + ".pdf"); Backend.Current.getFormPDF (selectedExpenseForm.ID, pathToPdf); Console.WriteLine ("PDF: " + pathToPdf); Java.IO.File myFile = new Java.IO.File (pathToPdf); Console.WriteLine ("File Uri: " + myFile.ToString ()); Android.Net.Uri targetUri = global::Android.Net.Uri.FromFile (myFile); Intent intent = new Intent (Intent.ActionView); intent.SetDataAndType (targetUri, "application/pdf"); StartActivity (intent); // Adobe reader does not want to open the pdf... } catch (ActivityNotFoundException e) { Toast.MakeText (this, "No PDF viewer installed.", ToastLength.Short).Show (); } catch (Exception ex) { Toast.MakeText (this, ex.Message, ToastLength.Short).Show (); } }
public void InstallAPK_MoreThanAndroid7(Java.IO.File apkFileToInstall) { Android.Content.Intent intent = new Android.Content.Intent(); intent.SetAction(Android.Content.Intent.ActionView); if (string.IsNullOrWhiteSpace(mFileProvider_Authority)) { throw new Exception("mFileProvider_Authority为空值。请使用 SetFileProvider_Authority(string) 方法设置 mFileProvider_Authority 的值。"); } Android.Net.Uri uri = Android.Support.V4.Content.FileProvider.GetUriForFile ( context: mAppActivity.ApplicationContext, authority: mFileProvider_Authority, file: apkFileToInstall ); intent.SetDataAndType(uri, "application/vnd.android.package-archive"); intent.SetFlags(Android.Content.ActivityFlags.NewTask); // SetFlags 一定要在 Add Flags 之前, 否则 Add Flags 会被覆盖 intent.AddFlags(Android.Content.ActivityFlags.GrantReadUriPermission); intent.AddFlags(Android.Content.ActivityFlags.GrantWriteUriPermission); mAppActivity.Application.StartActivity(intent); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { base.OnCreateView (inflater, container, savedInstanceState); var view = inflater.Inflate (Resource.Layout.DocumentFragmentLayout, null, true); documentListView = view.FindViewById<ListView> (Resource.Id.documentsListView); if (Documents != null) documentListView.Adapter = new DocumentsAdapter (Activity, Resource.Layout.DocumentListItemLayout, Documents); documentListView.ItemClick += (sender, e) => { var textView = e.View.FindViewById<TextView> (Resource.Id.documentListItemDocTitle); var document = Documents.ElementAtOrDefault ((int)textView.Tag); //start intent with the uri path of the document var strings = document.Path.Split ('/'); CopyReadAsset (strings [1]); var intent = new Intent (Intent.ActionView); var uri = Uri.FromFile (file); intent.SetDataAndType (uri, "application/pdf"); intent.SetFlags (ActivityFlags.ClearTop); try { Activity.StartActivity (intent); } catch (ActivityNotFoundException exc) { Log.WriteLine (LogPriority.Error, Constants.LogTag, exc.Message); } }; return view; }
/** * Helper method to carry out crop operation */ private void performCrop(){ //take care of exceptions try { //call the standard crop action intent (the user device may not support it) Intent cropIntent = new Intent("com.android.camera.action.CROP"); //indicate image type and Uri cropIntent.SetDataAndType(picUri, "image/*"); //set crop properties cropIntent.PutExtra("crop", "true"); //indicate aspect of desired crop cropIntent.PutExtra("aspectX", 1); cropIntent.PutExtra("aspectY", 1); //indicate output X and Y cropIntent.PutExtra("outputX", 256); cropIntent.PutExtra("outputY", 256); //retrieve data on return cropIntent.PutExtra("return-data", true); //start the activity - we handle returning in onActivityResult StartActivityForResult(cropIntent, PIC_CROP); } //respond to users whose devices do not support the crop action catch(ActivityNotFoundException anfe){ //display an error message String errorMessage = "Whoops - your device doesn't support the crop action!"; Toast toast = Toast.MakeText(this, errorMessage, ToastLength.Short); toast.Show(); } }
public bool Open(string fileName) { if (String.IsNullOrWhiteSpace(fileName)) return false; var dataType = GetMimeType(fileName); // external apps do not have access to cache directory, copy from the cache to an external location var newPath = Path.Combine( this.externalDirectory, Path.GetFileName(fileName) ); File.Copy(fileName, newPath, true); try { var file = new Java.IO.File(newPath); var uri = Android.Net.Uri.FromFile(file); var intent = new Intent(Intent.ActionView); intent.SetDataAndType(uri, dataType); Forms.Context.StartActivity(intent); return true; } catch { return false; } }
public void ShowImage (string imageURL) { Intent intent = new Intent(); intent.AddFlags (ActivityFlags.NewTask); intent.SetAction(Intent.ActionView); intent.SetDataAndType(Android.Net.Uri.Parse(imageURL), "image/*"); Application.Context.StartActivity(intent); }
private void InstallAPK_Simple(Java.IO.File apkFileToInstall) { Android.Content.Intent intent = new Android.Content.Intent(); intent.SetAction(Android.Content.Intent.ActionView); intent.SetFlags(Android.Content.ActivityFlags.NewTask); intent.SetDataAndType(Android.Net.Uri.FromFile(apkFileToInstall), "application/vnd.android.package-archive"); mAppActivity.Application.StartActivity(intent); }
private void onClickPlayVideo(File file) { var uri = Android.Net.Uri.FromFile(file); var intent = new Android.Content.Intent(Intent.ActionView, uri); intent.SetDataAndType(uri, "video/*"); activity.StartActivityForResult(intent, 0); }
public Intent DisplayPDF(Java.IO.File file) { Intent intent = new Intent (Intent.ActionView); Android.Net.Uri filepath = Android.Net.Uri.FromFile (file); intent.SetDataAndType (filepath, "application/pdf"); intent.SetFlags (ActivityFlags.ClearTop); return intent; }
public override void OpenPreview(Android.App.Activity androidActivity) { if (ContactId != null) { var intent = new Intent(Intent.ActionView); intent.SetDataAndType( Android.Net.Uri.WithAppendedPath(ContactsContract.Contacts.ContentUri, ContactId), ContactsContract.Contacts.ContentType); androidActivity.StartActivity(intent); } }
private void VideoTouched(object sender, System.EventArgs e) { if (video != null) { video.StopPlayback(); video.Dispose(); video = null; } Uri videoUri = Uri.Parse(videoAdd); Intent intent = new Intent(Intent.ActionView, videoUri); intent.SetDataAndType(videoUri, "video/mp4"); Activity.StartActivity(intent); this.Dismiss(); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); Edit = FindViewById<AutoCompleteTextView>(Resource.Id.Edit); Button button = FindViewById<Button>(Resource.Id.MyButton); button.Click += delegate { string EditText = Edit.Text; Intent intent = new Intent(Intent.ActionView, Android.Net.Uri.Parse("http://test.mp4")); intent.SetDataAndType(Android.Net.Uri.Parse(EditText), "video/mp4"); StartActivity(intent); }; }
public async Task<bool> Download(string uri, string filename) { string downloadedFolder = "/storage/emulated/0/Download/"; if (App.DownloadsPath != null && !string.IsNullOrEmpty(App.DownloadsPath)) { downloadedFolder = App.DownloadsPath + "/"; } string fileExtenstion = Path.GetExtension(filename); if (fileExtenstion == ".jpg" || fileExtenstion == ".jpeg" || fileExtenstion == ".png") return false; if (System.IO.File.Exists(downloadedFolder + filename)) { string downloadedUri = "file://" + downloadedFolder + filename; Java.IO.File file = new Java.IO.File(new Java.Net.URI( downloadedUri )); Intent videoPlayerActivity = new Intent(Intent.ActionView); videoPlayerActivity.SetDataAndType(Android.Net.Uri.FromFile(file), "video/*"); Activity activity = Forms.Context as Activity; activity.StartActivity(videoPlayerActivity); return true; } App.DownloadID = 0; Android.Net.Uri contentUri = Android.Net.Uri.Parse(uri); Android.App.DownloadManager.Request r = new Android.App.DownloadManager.Request(contentUri); r.SetDestinationInExternalPublicDir(Android.OS.Environment.ExternalStorageDirectory.ToString(), filename); r.AllowScanningByMediaScanner(); r.SetNotificationVisibility(Android.App.DownloadVisibility.VisibleNotifyCompleted); Android.App.DownloadManager dm = (Android.App.DownloadManager)Xamarin.Forms.Forms.Context.GetSystemService(Android.Content.Context.DownloadService); App.DownloadID = dm.Enqueue(r); AndHUD.Shared.Show(MainActivity.GetMainActivity(), "Dowloading Media...", -1, MaskType.Clear, null, () => { dm.Remove(App.DownloadID); }, true, () => { dm.Remove(App.DownloadID); }); return true; }
private void PerformCrop(Uri picUri, Action<string> callbackResult, string path) { Intent cropIntent = new Intent("com.android.camera.action.CROP"); // indicate image type and Uri cropIntent.SetDataAndType(picUri, "image/*"); // set crop properties cropIntent.PutExtra("crop", "true"); // indicate aspect of desired crop cropIntent.PutExtra("aspectX", 1); cropIntent.PutExtra("aspectY", 1); // retrieve data on return cropIntent.PutExtra(MediaStore.ExtraOutput, picUri); // start the activity - we handle returning in onActivityResult ActivityService.StartActivityForResult(cropIntent, (result, data) => { callbackResult(result == Result.Ok ? path : null); }); }
public void Save(string fileName, String contentType, MemoryStream stream) { string exception = string.Empty; string root = null; if (Android.OS.Environment.IsExternalStorageEmulated) { root = Android.OS.Environment.ExternalStorageDirectory.ToString(); } else root = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); Java.IO.File myDir = new Java.IO.File(root + "/Syncfusion"); myDir.Mkdir(); Java.IO.File file = new Java.IO.File(myDir, fileName); if (file.Exists()) file.Delete(); try { FileOutputStream outs = new FileOutputStream(file); outs.Write(stream.ToArray()); outs.Flush(); outs.Close(); } catch (Exception e) { exception = e.ToString(); } if (file.Exists() && contentType != "application/html") { Android.Net.Uri path = Android.Net.Uri.FromFile(file); string extension = Android.Webkit.MimeTypeMap.GetFileExtensionFromUrl(Android.Net.Uri.FromFile(file).ToString()); string mimeType = Android.Webkit.MimeTypeMap.Singleton.GetMimeTypeFromExtension(extension); Intent intent = new Intent(Intent.ActionView); intent.SetDataAndType(path, mimeType); Forms.Context.StartActivity(Intent.CreateChooser(intent, "Choose App")); } }
public bool Open(IFile file) { try { // external apps do not have access to cache directory, copy from the cache to an external location var newPath = this.GetReadPath(file.Name); file.CopyTo(newPath); var javaFile = new Java.IO.File(newPath); var uri = Android.Net.Uri.FromFile(javaFile); var intent = new Intent(Intent.ActionView); intent.SetDataAndType(uri, file.MimeType); if (!IsIntentManagable(intent)) return false; this.StartActivity(intent); return true; } catch (Exception ex) { Mvx.Warning(ex.ToString()); return false; } }
private void OnDownloadUpdate(object sender, DoWorkEventArgs args) { String path = Android.Os.Environment.GetExternalStoragePublicDirectory(Android.Os.Environment.DIRECTORY_DOWNLOADS) + "/JGCompanion.apk"; try { WebClient client = new WebClient(); client.DownloadFile(args.Argument.ToString(), path); Intent i = new Intent(); i.SetAction(Intent.ACTION_VIEW); i.SetDataAndType(Android.Net.Uri.FromFile(new Java.Io.File(path)), "application/vnd.android.package-archive"); Log.D("JGCompanion", "Starting auto-update"); MainActivity.StartActivityOnMain(i); } catch (Exception ex) { Log.E("JGCompanion", "Error during auto-update!"); Log.E("JGCompanion", ex.Message); } }
public void ShowPdfFile(string pdfFileName) { string path = Path.Combine(CurrentActivity.GetExternalFilesDir(null).AbsolutePath, pdfFileName); if (!File.Exists(path)) { try { FileStream output = File.OpenWrite(path); Stream input = CurrentActivity.Assets.Open(pdfFileName); input.CopyTo(output); input.Close(); output.Flush(); output.Close(); } catch (Exception) { LoggerService.Log(string.Format("ResourceService.ShowPdfFile() : Cannot create external file {0}", path), MessageSeverity.Error); } } try { Intent intent = new Intent(Intent.ActionView); intent.SetDataAndType(Uri.Parse("file://" + path), "application/pdf"); CurrentActivity.StartActivity(intent); } catch (Exception) { try { CurrentActivity.StartActivity(new Intent(Intent.ActionView, Uri.Parse("market://search?q=pdf&c=apps"))); } catch (ActivityNotFoundException) { CurrentActivity.StartActivity(new Intent(Intent.ActionView, Uri.Parse("https://play.google.com/store/search?q=pdf&c=apps"))); } } }
public void OpenUrl(string url, string mime = null, bool extra = false) { if (!url.Contains (":/")) { url = "http://" + url; } var uri = global::Android.Net.Uri.Parse (url); Intent intent = new Intent (Intent.ActionView); if (mime != null) intent.SetDataAndType (uri, mime); else intent.SetData (uri); intent.AddFlags (ActivityFlags.NewTask); if (extra){ Intent intent2 = new Intent (Intent.ActionView); intent2.SetData (uri); Intent[] intentArray = { intent2 }; intent = Intent.CreateChooser (intent, "Open"); intent.PutExtra(Intent.ExtraInitialIntents, intentArray); } try { mContext.StartActivity (intent); } catch (Exception ex) { try { Console.WriteLine(ex.Message); Intent intent3 = new Intent (Intent.ActionView); intent3.SetFlags(ActivityFlags.NewTask); mContext.StartActivity (intent3); } catch (Exception) { Log.Error ("cannot open link ", ex.Message); } } }
private void StopAction(bool stopRec = true, bool popup = false) { RunOnUiThread(() => { modeLayouts[currentMode].Visibility = ViewStates.Gone; startBtn.Text = "Start!"; }); if (stopRec) audioManager.StopRecording(); if (!popup) return; Android.Net.Uri passedUri = Android.Net.Uri.FromFile(new Java.IO.File(AppData.TempRecording.Path)); Android.Support.V7.App.AlertDialog alert = new Android.Support.V7.App.AlertDialog.Builder(this) .SetTitle("Session complete!") .SetMessage("Would you like to listen to your speech?") .SetPositiveButton("Listen", (EventHandler<DialogClickEventArgs>) null) .SetNeutralButton("Share recording", (EventHandler<DialogClickEventArgs>) null) .SetNegativeButton("Close", (arg1, arg2) => { }) .Create(); alert.Show(); alert.GetButton((int) DialogButtonType.Positive).Click += (sender, e) => { Intent intent = new Intent(); intent.SetAction(Intent.ActionView); intent.SetDataAndType(passedUri, "audio/*"); StartActivity(intent); }; alert.GetButton((int) DialogButtonType.Neutral).Click += (sender, e) => { Intent intent = new Intent(); intent.SetAction(Intent.ActionSend); intent.SetType("audio/*"); intent.PutExtra(Intent.ExtraStream, passedUri); StartActivity(intent); }; }
private void AddMessage(LinearLayout messageList, Message elem) { View v = null; if (elem.text.StartsWith ("#image")) { if (elem.nick == user.user) { if (setting.FontSize == Setting.Size.large) { v = LayoutInflater.Inflate (Resource.Layout.ImageRightLarge, null); } else { v = LayoutInflater.Inflate (Resource.Layout.ImageRight, null); } } else { if (setting.FontSize == Setting.Size.large) { v = LayoutInflater.Inflate (Resource.Layout.ImageLeftLarge, null); } else { v = LayoutInflater.Inflate (Resource.Layout.ImageLeft, null); } ImageView image = v.FindViewById<ImageView> (Resource.Id.messageImage); new Thread (async () => { try { var imageBitmap = await network.GetImageBitmapFromUrl (Resources.GetString (Resource.String.profileUrl) + elem.nick + ".png"); RunOnUiThread (() => image.SetImageBitmap (imageBitmap)); } catch (Exception e) { Log.Error ("BlaChat", e.StackTrace); } }).Start (); } ImageView contentImage = v.FindViewById<ImageView> (Resource.Id.contentImage); contentImage.Click += delegate { string images = System.IO.Path.Combine (Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, "Pictures/BlaChat"); var filename = elem.text.Substring ("#image ".Length); filename = filename.Substring (filename.LastIndexOf ("/") + 1); filename = System.IO.Path.Combine (images, filename); Intent intent = new Intent (Intent.ActionView); intent.SetDataAndType (Android.Net.Uri.Parse ("file://" + filename), "image/*"); StartActivity (intent); }; //contentImage.SetOnTouchListener (new TouchListener(this, elem.text.Substring ("#image ".Length))); new Thread (async () => { try { var uri = elem.text.Substring ("#image ".Length); var imageBitmap = await network.GetImageBitmapFromUrl (uri); RunOnUiThread (() => contentImage.SetImageBitmap (imageBitmap)); } catch (Exception e) { Log.Error ("BlaChat", e.StackTrace); } }).Start (); } else { if (elem.nick == user.user) { if (setting.FontSize == Setting.Size.large) { v = LayoutInflater.Inflate (Resource.Layout.MessageRightLarge, null); } else { v = LayoutInflater.Inflate (Resource.Layout.MessageRight, null); } } else { if (setting.FontSize == Setting.Size.large) { v = LayoutInflater.Inflate (Resource.Layout.MessageLeftLarge, null); } else { v = LayoutInflater.Inflate (Resource.Layout.MessageLeft, null); } ImageView image = v.FindViewById<ImageView> (Resource.Id.messageImage); new Thread (async () => { try { var imageBitmap = await network.GetImageBitmapFromUrl (Resources.GetString (Resource.String.profileUrl) + elem.nick + ".png"); RunOnUiThread (() => image.SetImageBitmap (imageBitmap)); } catch (Exception e) { Log.Error ("BlaChat", e.StackTrace); } }).Start (); } TextView text = v.FindViewById<TextView> (Resource.Id.messageText); var escape = elem.text.Replace (""", "\""); escape = escape.Replace ("<", "<"); escape = escape.Replace (">", ">"); escape = escape.Replace ("&", "&"); text.TextFormatted = SpannableTools.GetSmiledText (this, new SpannableString (escape)); } TextView caption = v.FindViewById<TextView> (Resource.Id.messageCaption); if (elem.nick != user.user) { caption.TextFormatted = SpannableTools.GetSmiledText (this, new SpannableString (elem.author + " (" + elem.time.Substring (11, 5) + ")")); } else { if (elem.time == "sending") { caption.TextFormatted = SpannableTools.GetSmiledText (this, new SpannableString ("Du (" + elem.time + ")")); } else { caption.Text = "Du (" + elem.time.Substring (11, 5) + ")"; } } messageList.AddView (v); }
private void btnRunSample_Click(object sender, EventArgs e) { if (sampleID != null) { SampleOutputInfo[] output = null; MemoryStream outputStream = null; Assembly asm = Assembly.GetExecutingAssembly(); switch (sampleID) { case "actions": output = Xfinium.Pdf.Samples.Actions.Run(); break; case "annotations": Stream flashInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.clock.swf"); Stream u3dInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.airplane.u3d"); output = Xfinium.Pdf.Samples.Annotations.Run(flashInput, u3dInput); flashInput.Close(); u3dInput.Close(); break; case "barcodes": output = Xfinium.Pdf.Samples.Barcodes.Run(); break; case "batesnumbers": Stream batesNumbersInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.BatesNumbers.Run(batesNumbersInput); batesNumbersInput.Close(); batesNumbersInput = null; break; case "contentextraction": Stream contentExtractionInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.ContentExtraction.Run(contentExtractionInput); contentExtractionInput.Close(); contentExtractionInput = null; break; case "contentstream": output = Xfinium.Pdf.Samples.ContentStream.Run(); break; case "documentappend": Stream file1Input = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); Stream file2Input = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.formfill.pdf"); output = Xfinium.Pdf.Samples.DocumentAppend.Run(file1Input, file2Input); file1Input.Close(); file2Input.Close(); break; case "documentincrementalupdate": outputStream = new MemoryStream(); Stream sri = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); byte[] buffer = new byte[8192]; while (true) { int readSize = sri.Read(buffer, 0, buffer.Length); if (readSize <= 0) { break; } outputStream.Write(buffer, 0, readSize); } sri.Close(); output = Xfinium.Pdf.Samples.DocumentIncrementalUpdate.Run(outputStream); break; case "documentpagebypagesave": outputStream = new MemoryStream(); output = Xfinium.Pdf.Samples.DocumentPageByPageSave.Run(outputStream); break; case "documentproperties": output = Xfinium.Pdf.Samples.DocumentProperties.Run(); break; case "documentsplit": Stream splitInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.DocumentSplit.Run(splitInput); splitInput.Close(); break; case "encryption": Stream encryptionInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.encrypted.pdf"); output = Xfinium.Pdf.Samples.Encryption.Run(encryptionInput); encryptionInput.Close(); break; case "fileattachments": Stream attachmentStream1 = Assets.Open("fileattachments_cs.html"); Stream attachmentStream2 = Assets.Open("fileattachments_vb.html"); output = Xfinium.Pdf.Samples.FileAttachments.Run(attachmentStream1, attachmentStream2); attachmentStream1.Close(); attachmentStream2.Close(); break; case "fonts": Stream ttfStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.verdana.ttf"); output = Xfinium.Pdf.Samples.Fonts.Run(ttfStream); ttfStream.Close(); break; case "formattedcontent": output = Xfinium.Pdf.Samples.FormattedContent.Run(); break; case "formfill": Stream formStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.formfill.pdf"); output = Xfinium.Pdf.Samples.FormFill.Run(formStream); formStream.Close(); break; case "formgenerator": output = Xfinium.Pdf.Samples.FormGenerator.Run(); break; case "grayscaleconversion": Stream grayscaleConversionInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.GrayscaleConversion.Run(grayscaleConversionInput); grayscaleConversionInput.Close(); break; case "images": Stream imageStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.image.jpg"); Stream cmykImageStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.cmyk.tif"); Stream softMaskStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.softmask.png"); Stream stencilMaskStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.stencilmask.png"); output = Xfinium.Pdf.Samples.Images.Run(imageStream, cmykImageStream, softMaskStream, stencilMaskStream); imageStream.Close(); cmykImageStream.Close(); softMaskStream.Close(); stencilMaskStream.Close(); break; case "measurements": output = Xfinium.Pdf.Samples.Measurements.Run(); break; case "optionalcontent": output = Xfinium.Pdf.Samples.OptionalContent.Run(); break; case "optionalcontentextraction": Stream oceInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.OptionalContentExtraction.Run(oceInput); oceInput.Close(); break; case "outlines": output = Xfinium.Pdf.Samples.Outlines.Run(); break; case "pageimposition": Stream pageImpositionInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.PageImposition.Run(pageImpositionInput); pageImpositionInput.Close(); break; case "pageobjects": Stream pageObjectsInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.pageobjects.pdf"); output = Xfinium.Pdf.Samples.PageObjects.Run(pageObjectsInput); pageObjectsInput.Close(); break; case "pdfa": Stream pdfaIccInput = asm.GetManifestResourceStream ("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.rgb.icc"); Stream pdfaTtfInput = asm.GetManifestResourceStream ("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.verdana.ttf"); output = Xfinium.Pdf.Samples.PDFA.Run (pdfaIccInput, pdfaTtfInput); pdfaIccInput.Close (); pdfaTtfInput.Close (); break; case "portfolios": Stream imagesStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.image.jpg"); Stream pdfStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); Stream csStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.portfolios_cs.html"); Stream vbStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.portfolios_vb.html"); output = Xfinium.Pdf.Samples.Portfolios.Run(imagesStream, pdfStream, csStream, vbStream); imagesStream.Close(); pdfStream.Close(); csStream.Close(); vbStream.Close(); break; case "redaction": Stream redactionStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.Redaction.Run(redactionStream); redactionStream.Close(); break; case "removereplaceimages": Stream removeReplaceImagesInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.RemoveReplaceImages.Run(removeReplaceImagesInput); removeReplaceImagesInput.Close(); break; case "searchtext": Stream searchTextInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.SearchText.Run(searchTextInput); searchTextInput.Close(); break; case "svgtopdf": Stream svgInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.tiger.svg"); output = Xfinium.Pdf.Samples.SvgToPdf.Run(svgInput); svgInput.Close(); break; case "text": output = Xfinium.Pdf.Samples.Text.Run(); break; case "tifftopdf": Stream tiffStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.sample.tif"); output = Xfinium.Pdf.Samples.TiffToPdf.Run(tiffStream); tiffStream.Close(); break; case "type3fonts": output = Xfinium.Pdf.Samples.Type3Fonts.Run(); break; case "vectorgraphics": Stream iccStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.rgb.icc"); output = Xfinium.Pdf.Samples.VectorGraphics.Run(iccStream); iccStream.Close(); break; case "watermarks": Stream watermarkStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.Watermarks.Run(watermarkStream); watermarkStream.Close(); break; } string pdfPath = ""; if (output != null) { if (sampleID == "pdfa") { pdfPath = System.IO.Path.Combine( System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), output[0].FileName); Stream pdfStream = File.Open(pdfPath, FileMode.Create); PdfAFormatter.Save(output[0].Document as PdfFixedDocument, pdfStream, PdfAFormat.PdfA1b); pdfStream.Flush(); pdfStream.Close(); } else { for (int i = 0; i < output.Length; i++) { pdfPath = System.IO.Path.Combine( System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), output[i].FileName); Stream pdfStream = File.Open(pdfPath, FileMode.Create); output[i].Document.Save(pdfStream); pdfStream.Flush(); pdfStream.Close(); } } } if (outputStream != null) { string fileName = ""; switch (sampleID) { case "documentincrementalupdate": fileName = "xfinium.pdf.sample.documentincrementalupdate.pdf"; break; case "documentpagebypagesave": fileName = "xfinium.pdf.sample.documentpagebypagesave.pdf"; break; } pdfPath = System.IO.Path.Combine( System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), fileName); Stream pdfStream = File.Open(pdfPath, FileMode.Create); outputStream.WriteTo(pdfStream); pdfStream.Flush(); pdfStream.Close(); } Java.IO.File file = new Java.IO.File(pdfPath); file.SetReadable(true, false); global::Android.Net.Uri u = global::Android.Net.Uri.FromFile(file); Intent intent = new Intent(Intent.ActionView); intent.SetDataAndType(u, "application/pdf"); intent.SetFlags(ActivityFlags.ClearTop); try { StartActivity(intent); } catch (ActivityNotFoundException ex) { Toast.MakeText(this, "No PDF viewer available", ToastLength.Short).Show(); } } }
public override void OpenPreview(Android.App.Activity androidActivity) { var intent = new Intent(Intent.ActionView); intent.SetDataAndType(Android.Net.Uri.Parse("file://" + AbsoluteFilePath), Java.Net.URLConnection.GuessContentTypeFromName(AbsoluteFilePath)); androidActivity.StartActivity(intent); }
void downloadAppFileCompleted (object sender, AsyncCompletedEventArgs e) { RunOnUiThread (() => { progressDialog.Dismiss (); if (downloadedOK) { var installApk = new Intent(Intent.ActionView); installApk.SetDataAndType(Android.Net.Uri.Parse("file://" + fullLatestAppFilename), "application/vnd.android.package-archive"); installApk.SetFlags(ActivityFlags.NewTask); try { StartActivity(installApk); } catch (ActivityNotFoundException ex) { var errorInstalled = new AlertDialog.Builder (this).Create (); errorInstalled.SetTitle (Resources.GetString(Resource.String.download_error)); errorInstalled.SetMessage (string.Format(Resources.GetString(Resource.String.download_error_description), Resources.GetString(Resource.String.app_name) + " " + latestAppVersion)); errorInstalled.Show (); } downloadedOK = false; } else { File.Delete(fullLatestAppFilename); } }); }
void downloadWhatsAppFileCompleted (object sender, AsyncCompletedEventArgs e) { RunOnUiThread (() => { progressDialog.Dismiss (); if (downloadedOK) { var installApk = new Intent(Intent.ActionView); installApk.SetDataAndType(Android.Net.Uri.Parse("file://" + fullLatestWhatsAppFilename), "application/vnd.android.package-archive"); installApk.SetFlags(ActivityFlags.NewTask); try { StartActivity(installApk); AlertDialog deleteWhatsApp = new AlertDialog.Builder (this).Create (); deleteWhatsApp.SetTitle (Resources.GetString(Resource.String.delete)); deleteWhatsApp.SetMessage (Resources.GetString(Resource.String.delete_description)); deleteWhatsApp.SetButton ((int)DialogButtonType.Positive, Resources.GetString(Resource.String.delete_button_delete), (object senderDelete, DialogClickEventArgs eDelete) => File.Delete(fullLatestWhatsAppFilename)); deleteWhatsApp.SetButton ((int)DialogButtonType.Negative, Resources.GetString(Resource.String.delete_button_cancel), (object senderCancel, DialogClickEventArgs eCancel) => deleteWhatsApp.Dismiss ()); deleteWhatsApp.SetCancelable (false); deleteWhatsApp.Show (); } catch (ActivityNotFoundException ex) { var errorInstalled = new AlertDialog.Builder (this).Create (); errorInstalled.SetTitle (Resources.GetString(Resource.String.download_error)); errorInstalled.SetMessage (string.Format(Resources.GetString(Resource.String.download_error_description), "WhatsApp " + latestWhatsAppVersion)); errorInstalled.Show (); } downloadedOK = false; } else { File.Delete(fullLatestWhatsAppFilename); } }); }
void Downfile_OnFinishDownloadDBHandle(string filename) { string apkfile = filename.Replace ("zip", "apk"); var sdcard = Path.Combine (Android.OS.Environment.ExternalStorageDirectory.Path, "erpdata"); if (File.Exists(apkfile)) File.Delete(apkfile); try { ZipHelper.DecompressFiles (filename, sdcard); Java.IO.File file = new Java.IO.File (apkfile); file.SetReadable (true, false); Intent intent = new Intent(Intent.ActionInstallPackage); intent.SetDataAndType (Android.Net.Uri.FromFile (file), "application/vnd.android.package-archive"); StartActivity (intent); } catch (Exception ex) { Console.WriteLine(ex); } }
/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { // TODO: Add your update logic here base.Update(gameTime); var touches = TouchPanel.GetState(); if (touches.Count == 0 && lastTouches.Count > 0) { var directory = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads); //Jpeg var path = Path.Combine(directory.AbsolutePath, "chuck.jpg"); var mimeType = "image/jpeg"; using (var stream = File.Create(path)) { logoTexture.SaveAsJpeg(stream, logoTexture.Width, logoTexture.Height); } //Png //var path = Path.Combine(directory.AbsolutePath, "chuck.jpg"); //var mimeType = "image/png"; //using (var stream = File.Create(path)) //{ // logoTexture.SaveAsPng(stream, logoTexture.Width, logoTexture.Height); //} var intent = new Intent(Intent.ActionView); intent.SetDataAndType(Android.Net.Uri.Parse("file://" + path), mimeType); Game.Activity.StartActivity(intent); } lastTouches = touches; }
internal void OpenBinaryFile(Android.Net.Uri uri) { String theMimeType = GetMimeType(uri.Path); if (theMimeType != null) { Intent theIntent = new Intent(Intent.ActionView); theIntent.AddFlags(ActivityFlags.NewTask | ActivityFlags.ExcludeFromRecents); theIntent.SetDataAndType(uri, theMimeType); try { StartActivity(theIntent); } catch (ActivityNotFoundException) { //ignore Toast.MakeText(this, "Couldn't open file", ToastLength.Short).Show(); } } }
private void DownLoadApp() { ProgressBar progressBar = FindViewById<ProgressBar>(Resource.Id.Loading_progressBar1); TextView Msg = FindViewById<TextView>(Resource.Id.Loading_Msg); progressBar.Max = 100; RunOnUiThread(() => { Msg.Text = "正在准备下载,请耐心等待.下载完成后按提示安装"; }); string str = of_update(progressBar, Msg); if (str.Substring(0, 2) != "ER")//下载完成 { RunOnUiThread(() => { Msg.Text = "按提示进行安装安装,长按文字返回上一页"; }); try { Msg.LongClick += delegate { StartActivity(typeof(Config)); }; Java.IO.File apkfile = new Java.IO.File(str); Intent intent = new Intent(Intent.ActionView); intent.AddFlags(ActivityFlags.NewTask); intent.SetAction(Android.Content.Intent.ActionView); intent.SetDataAndType(Android.Net.Uri.FromFile(apkfile), "application/vnd.android.package-archive"); StartActivity(intent); } catch { SysVisitor.DeleteFolder(str.Substring(0, str.LastIndexOf('/'))); for (int i = 0; i < 5; i++) { RunOnUiThread(() => { Msg.Text = "下载的文件有误,可能是由于网络问题下载失败或在下载过程中用户退出,导致文件未下载完成,错误文件已成功清除" + (5 - i) + "秒后自动返回主页面"; ; }); Thread.Sleep(1000); } SysVisitor.Log("Loading.DownLoadApp", "下载的文件有误,可能是由于网络问题下载失败或在下载过程中用户退出,导致文件未下载完成,错误文件已成功清除"); StartActivity(typeof(Index)); } } else { for (int i = 0; i < 5; i++) { RunOnUiThread(() => { Msg.Text = str + (5 - i) + "秒后自动返回主页面"; }); } } }
private async void InitStreamAvailable(IBouquetItemService service) { try { //check if we have all the info if (!ConnectionManager.Connected || service == null || service.Reference == null || ConnectionManager.CurrentProfile == null || !ConnectionManager.CurrentProfile.Streaming) return; var profile = ConnectionManager.CurrentProfile; string link = null; bool portAvailable = false; int originalPort; int streamPort = 0; string enigma1ServiceParameters = string.Empty; if (profile.Transcoding) { originalPort = profile.TranscodingPort; //check if transcoding port is available portAvailable = await Network.CheckPortOpen(profile.Address, originalPort); if (portAvailable) originalPort = profile.TranscodingPort; else { portAvailable = await Network.CheckPortOpen(profile.Address, 8002); if (portAvailable) originalPort = 8002; else //transcoding port is not available, fallback to regular stream port originalPort = profile.StreamingPort; } } else { originalPort = profile.StreamingPort; } //check if specified streaming port is available if (!portAvailable) portAvailable = await Network.CheckPortOpen(profile.Address, originalPort); if (!portAvailable || profile.Enigma == EnigmaType.Enigma1) { //we need original streaming parameters from the receiver var streamParametersResponse = await ReadStreamParameters(service); if (streamParametersResponse == null) { //failed to get original parameters if (profile.Enigma == EnigmaType.Enigma1) { //we need additional parameters for Enigma1 ShowStreamStatusToast(context.GetString(Resource.String.err_failed_to_initialize_stream)); return; } } else { Uri streamUri = new Uri(streamParametersResponse.StreamUrl); enigma1ServiceParameters = streamUri.AbsolutePath; //we have stream parameters from the receiver if (!portAvailable) { //receiver specified different port for streaming if (streamUri.Port != originalPort) { //check if alternative port is available portAvailable = await Network.CheckPortOpen(profile.Address, streamUri.Port); if (portAvailable) { //notify user about port change streamPort = streamUri.Port; Toast.MakeText(context, string.Format(context.GetString(Resource.String.warn_using_alternative_port), streamUri.Port), ToastLength.Short).Show(); } } else { //port is not available, receiver returned the same port ShowStreamStatusToast(string.Format("{0}:{1} {2}", profile.Address, originalPort, context.GetString(Resource.String.err_port_not_available))); return; } } else { //we have stream parameters, specified streaming port in profile is available streamPort = originalPort; } } if (!portAvailable) { ShowStreamStatusToast(string.Format("{0}:{1} {2}", profile.Address, originalPort, context.GetString(Resource.String.err_port_not_available))); return; } } else { //port is avialable, it's Enigma2 streamPort = originalPort; if (profile.Transcoding && streamPort != profile.TranscodingPort) Toast.MakeText(context, string.Format(context.GetString(Resource.String.warn_using_alternative_port), streamPort), ToastLength.Short).Show(); } if (profile.Enigma == EnigmaType.Enigma2) //http://example.com:8001/ link = string.Format("http://{0}:{1}/{2}", profile.Address, streamPort, service.Reference); else //http://dm600pvr:31339/0,61,1ff,200 link = string.Format("http://{0}:{1}{2}", profile.Address, streamPort, enigma1ServiceParameters); link = System.Uri.EscapeUriString(link); ShowStreamStatusToast(context.GetString(Resource.String.inf_initializing_stream)); Intent intent = new Intent(Intent.ActionView); intent.SetDataAndType(Android.Net.Uri.Parse(link), "video/*"); Log.Debug(TAG, "Requesting stream for link " + link); context.StartActivity(intent); } catch (Exception ex) { Log.Error(TAG, string.Format("Failed to initialize stream! {0}", ex.Message)); ShowStreamStatusToast(string.Format("{0} {1}", context.GetString(Resource.String.err_failed_to_initialize_stream), ex.Message)); } }
// int SHOT_TYPE; protected async override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.screenshot_activity); mToolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(mToolbar); SupportActionBar.SetDisplayShowHomeEnabled(true); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.Title = GetString(Resource.String.action_screenshot); iView = FindViewById<ImageView>(Resource.Id.ivScreenShot); iView.Click += (sender, e) => { var content = GetBytesFromDrawable(iView.Drawable); //make sure we have something to show in the first place if (content != null && iView.Drawable != defaultImage) { //there is no external storage available, Gallery cannot show internal cache image if (FileSystem.GetTmpDir(this) == CacheDir.AbsolutePath) return; try { if (SaveFile(GetTmpFileName(), content)) { Intent intent = new Intent(); intent.SetAction(Intent.ActionView); intent.SetDataAndType(Android.Net.Uri.Parse("file://" + GetTmpFileName()), "image/*"); StartActivity(intent); } } catch (Exception ex) { Log.Error(TAG, string.Format("Error launching image view intent! {0}", ex.Message)); } } }; pbScreenShot = FindViewById<ProgressBar>(Resource.Id.pbScreenShot); defaultImage = iView.Drawable; layoutPb = FindViewById<LinearLayout>(Resource.Id.layoutPb); bottomToolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar_bottom); bottomToolbar.InflateMenu(Resource.Menu.menu_screenshot); screenshotAll = bottomToolbar.Menu.FindItem(Resource.Id.action_screenshot_all); screenshotOSD = bottomToolbar.Menu.FindItem(Resource.Id.action_screenshot_osd); screenshotPicture = bottomToolbar.Menu.FindItem(Resource.Id.action_screenshot_picture); saveMenu = bottomToolbar.Menu.FindItem(Resource.Id.action_save); saveMenu.SetVisible(FileSystem.IsExternalStorageWritable()); bottomToolbar.MenuItemClick += (sender, e) => { if (e.Item.ItemId == Resource.Id.action_screenshot_all) { TakeScreenshot(ScreenshotType.All); e.Handled = true; } else if (e.Item.ItemId == Resource.Id.action_screenshot_osd) { TakeScreenshot(ScreenshotType.Osd); e.Handled = true; } else if (e.Item.ItemId == Resource.Id.action_screenshot_picture) { TakeScreenshot(ScreenshotType.Picture); e.Handled = true; } else if (e.Item.ItemId == Resource.Id.action_save) { SaveToDisk(); e.Handled = true; } }; //bundle = this.Intent.Extras; //SHOT_TYPE = bundle.GetInt("SHOT_TYPE"); if (bundle != null) { var cachedScreenshotPath = bundle.GetString(cachedImage); if (!string.IsNullOrEmpty(cachedScreenshotPath)) { var cachedScreenShot = LoadTmpFile(); if (cachedScreenShot != null) { layoutPb.Visibility = ViewStates.Gone; iView.Visibility = ViewStates.Visible; var bitmap = CreateBitmapFromBytes(cachedScreenShot); iView.SetImageBitmap(bitmap); } } } else { TakeScreenshot(ScreenshotType.All); } }
Intent CreateProperIntent(HistoryItem item) { var intent = new Intent (); intent.SetAction (Intent.ActionView); if (!string.IsNullOrEmpty (item.Outgoing)) { var uri = Android.Net.Uri.Parse (item.LocalPath); intent.SetDataAndType (uri, GetMimeTypeForFile (GetDisplayNameFromURI (uri))); } else { var uri = Android.Net.Uri.FromFile (new Java.IO.File (item.LocalPath)); intent.SetDataAndType (uri, GetMimeTypeForFile (item.LocalPath)); } return intent; }
private void InStallApk() { var file = new Java.IO.File (saveFileName); if (!file.Exists ()) { return; } //通过Intent安装新的apk文件 Intent intent = new Intent(Intent.ActionView); intent.SetDataAndType (Android.Net.Uri.Parse ("file://"+saveFileName.ToString()), "application/vnd.android.package-archive"); context.StartActivity (intent); }