内容共享 之 发送内容到其他的APP

Proteus仿真实战:基于IIC驱动SSD1306的0.96英寸OLED显示方案解析 本文详细解析了在Proteus仿真环境中基于IIC驱动SSD1306的0.96英寸OLED显示方案。从硬件搭建、IIC接口连接、软件驱动移植到常见问题排查,提供了全面的实战指导,帮助开发者快速实现OLED显示功能并优化性能。 阅读详情

源地址:http://developer.android.com/training/sharing/send.html

当构造一个intent的时候,必须要指明要触发的动作。android定义了一系列动作,其中有一个就是ACTION_SEND,如文字的意思,表示intent从一个activity发送内容到另外一个activity,甚至可在不同进程间通信。要发送数据给另外一个activity,你仅仅要做的就是指明数据和它的类型,系统会自动是识别这个信息,然后调用startActivity的时候就会显示出可以接收这个信息的activity,可能有多个,如果只有一个,那么会直接启动这个个activity.同样的,你可以在你的manifest文件里面声明你的activity想要接收的数据类型,就是上一节说的内容。

利用intent来在两个APP之间共享内容,最常用的地方就是社交化网络的内容分析。intent可以让用户方便快速的分享内容到自己喜欢的APP。

注意:给一个ActionBar添加一个分享的功能,最好的方法是调用调用ShareActionProvider,这个函数是在api 14 之上可用的。关于这个函数的更多信息请阅读:Adding an Easy Share Action.

发送文本内容

对ACTION_SEND最直接和常用的使用是用来发送一段文本内容到另外一个activity。例如,android自带的浏览器可用把当前打开的URL页面作为文本内容分享给其他的APP。通常是通过邮件或者社交网络来分享一篇文章或整个网页内容。下面的代码就可以实现这种分享需求:

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);

如果系统有一个APP里面有匹配ACTION_SEND和text/plain类型的MMI的过滤器(filter),那么系统就会在上面的代码运行的时候启动这个APP,如果有多个,那么就会都显示出来,让用户选择一个。也可以使用Intent.createChooser()来创建一个选择器,那么每次都会显示匹配的APP。

  • 即使用户在之前有选择默认的程序,但是如果用上面的createChooser来创建了一个选择器,那么,还是会每次都会显示出来所有的匹配的APP
  • 如果没有APP符合动作和数据类型,那么系统会显示一条信息。
  • 可以为选择器指定标题

下面是修改的代码,创建一个选择器:

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to)));

结果如图所示:

可以根据需求,设置其他标准的extra数据到intent:EXTRA_EMAIL, EXTRA_CC, EXTRA_BCC, EXTRA_SUBJECT.然而,如果接收到intent的APP如果没有设置为支持前面这些标准的exta数据,那么这些数据会被自动忽略,不会产生任何效果。也可以自定义extra的数据,但是除非接收的APP可以理解这个数据,不然不会产生任何作用。所以一般的,你自定义的extra数据,都是同时也被要接收这个intent的APP定义的。

注意:有一些邮箱应用,如Gmail,就需要一个String[]作为extra数据,比方说EXTRA_EMAIL 和EXTRA_CC,用putExtra(String, String[])把这个需要的数据放到intent里面去。

发送二进制内容

二进制数据的发送要用到一个由ACTION_SEND动作和MIME 类型组成的intent,以及一个存放Uri的EXTRA_STREAM的extra数据。这个经常用来分享一个图片内容,但其实这种方式可以被用来分享所有的二进制内容。

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage);
shareIntent.setType("image/jpeg");
startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_to)));

注意下面几点:

  • 可以用”*/*”来指定MIME 类型,但这个仅仅会匹配常用的类型
  • 接收intent的APP需要有访问Uri指定的资源的权限。有几种处理这种情况的方式:

     把数据放到外部存储器或者共享存储器,比方说SD卡,这样所有的APP都可以读取这个数据。利用Uri.fromFile()创建一个Uri,传递给要执行分享动作intent。这里要记住,不是所有的APP处理的是file://风格Uri。

     利用openFileOutput(),设置模式为MODE_WORLD_READABLE,创建一个文件,把数据写入到这个文件里面,然后利用getFileStreamPath()可以返回关于这个数据的一个File对象,像上面一样,可以利用Uri.fromFile()创建一个file://风格的Uri,传递给intent.

     多媒体文件,如视频,音频,图像,都可以用scanFile()来扫描和添加到系统的MediaStore里面。onScanCompleted()回调函数会返回一个content://风格Uri,然后可以在你的要执行分享动作的intent 里面使用。

     图像文件也可用insertImage()方法插入到系统的MediaStore里面,会返回一个content://风格Uri,放到intent里面。

     在你自己的ContentProvider里面存放数据,保证其他的APP有权限可以访问你的这个provider。

发送多个内容

想要同时发送分享多个内容,可以使用ACTION_SEND_MULTIPLE创建一个intent,同时设置一个Uri列表指向要分享的多个内容。MIME类型,根据你要分享的内容类型进行组合。比方说,如果想要分享3张JPEG图片,那么就使用"image/jpeg"。但是如果如果分享的图片类型是多种的,那么就可以使用"image/*"来匹配那个可以处理任何图片类型的activity。当你分享多种类型的内容时候,就可以用"*/*"来指定。如前面所说,由接收这个intent的APP来解析和处理你分享的数据。例如:

ArrayList<Uri> imageUris = new ArrayList<Uri>();
imageUris.add(imageUri1); // Add your image URIs here
imageUris.add(imageUri2);

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
shareIntent.setType("image/*");
startActivity(Intent.createChooser(shareIntent, "Share images to.."));

在所有分享动作之前,请确保被发送到的APP有访问和处理有你发送的Uri指定的数据的权限。

 

 

 

 

 

 

 

 

uniapp - 鸿蒙真机运行报错hvigor ERROR: Failed :entry:default@CompileArkTS...,hvigor ERROR: default@CompileAr uniapp鸿蒙报错> hvigor ERROR: Failed :entry:default@CompileArkTS... hvigor ERROR: default@CompileArkTS watch work[0] failed. 【HarmonyOS】工程编译后报错hvigor ERROR: Failed :entry:default@CompileArkTS,uniAPP鸿蒙开发无法编译运行启动报错,工程编译后报错,运行不起来,删除掉项目entry下的build和.preview缓存文件后重新 阅读详情

相关推荐

R链式中介:如何一次性生成4个变量所有可能的链式中介结果?(含结果解读与粗略作图)#bruceR#ggplot2

一次性生成4个变量所能生成的24种链式中介并作图

weixin_64183017的博客 3236

Android 分享到其他app

首先介绍一下最简单最常用的分享方式,就是先获取系统里有分享功能的app列表,然后用intent传输一些值过去 下面是获取系统中可分享的app的代码 private List activityList; private void init() { PackageManager pm = mContext.getPackageManager(); In

lvshaorong的博客 1326

如何解决ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE.

解决ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE

2742

Android实现分享、搜索给第三方应用

1、开启指定搜索网站,如百度 Uri uri = Uri.parse("http://www.baidu.com");//www.baidu.com Intent it = new Intent(Intent.ACTION_VIEW,uri); it.putExtra(SearchManager.QUERY, "柯震东"); it.setAction(Intent.ACTION_WEB_S

722

大模型-高通qnn基础

提供较低级别、高度可定制的统一API,通过单独的库加速所有AI加速器核心上的AI模型, 可以直接用于针对特定的加速器核心或从流行的运行时(包括Qualcomm Neural Processing SDK、TensorFlow Lite和ONNX运行时)委派工作负载。一个支持异构计算、系统级配置的一体化SDK,旨在将AI工作负载引导到我们平台上的所有加速器核心。为开发人员提供灵活性,包括核心间协作支持和其他高级功能。是一个为训练好的神经网络模型提供高级量化和压缩技术的库。

点滴的岁月 4082

stm32学习笔记-启动文件

1、配置栈 Stack_Size EQU 0x00000400 AREA STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem SPACE Stack_Size __initial_sp EQU:相当于C中的define,定义Stack_Size = 0x00000400。 AREA: 指...

某风吾起的博客 4529

android开发 文件分享到应用,Android 实现文件分享功能(共享多个文件)

效果如图: 神一样的代码:针对image代码如下:Intentshare=newIntent(Intent.ACTION_SEND);share.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(file));//此处一定要用Uri.fromFile(file),其中file为File类型,否则附件无法发送成功。share.setType("image/jpeg...

weixin_39622655的博客 1155

优化YOLOv8检测精度:Damo-YOLO的RepGFPN特征融合技术解析【YOLOv8】

YOLOv8在结构上依旧延续了自YOLOv4以来的CSPNet(Cross Stage Partial Network)和FPN(Feature Pyramid Network)的设计,结合了PANet(Path Aggregation Network)来增强特征的多尺度表达。然而,随着目标检测任务的复杂性增加,如何更有效地融合不同层级的特征成为提升检测性能的关键。Damo-YOLO中的RepGFPN引入了重参数化的思想,通过在训练和推理阶段对特征融合模块进行结构优化,显著提升了检测效果。

博客 1583

android 分享功能 总汇

/**     * 分享功能     * @param context 上下文     * @param activityTitle Activity的名字     * @param msgTitle 消息标题     * @param msgText 消息内容     * @param imgPath 图片路径,不分享图片则传null     */  

yzw9925的专栏 451

华为od 面试八股文_Spring_03_含答案

控制反转IOC是一个很大的概念,可以用不同的方式来实现。其主要实现方式有两种:依赖注入和依赖查找依赖注入;

MISAYAONE的博客 2335

闲鱼爬虫实战:模拟手机端破解反爬策略,爬取指定商品搜索数据,爬取闲鱼搜索指定商品(需手机端模拟)o 技术点:抓包分析、cookie与token

技术点作用抓取手机 App 请求,分析 API 结构、Header、参数加密情况requestsPython 中最常用的 HTTP 库,用于发送模拟请求Session 对象自动管理 Cookie,保持会话User-Agent & 设备特征模拟手机型号、系统版本,绕过服务端检测闲鱼部分接口存在签名,需要逆向或复用有效 Token多线程/异步提高爬取效率(需节制,避免封 IP)解析 HTML 或 JSON 数据注意:闲鱼的接口加密程度中等偏上,部分接口存在动态签名(如x-signx-mini-wua。

2201_76125261的博客 712

android 一个app分享内容到另外一个app,接受的app接受后并显示

基本原理:   分享的app应用程序里利用startActivity方法通过特定Action类型打开另外一个app应用程序的注册了特定Action类型的Activity; 这个activity启动后过getIntent()获取传过来的数据。 分享的app应用程序的主要代码是: activity的代码是: setContentView(R.layout.activity_main); ...

mengtianqq的博客 2128

12、无人机系统的建模与仿真

本文深入探讨了无人机系统的建模与仿真技术,涵盖其发展需求、历史演变、动力学建模方法、常用参考框架与状态变量表示,并分析了在控制系统设计、操作员培训和子系统测试中的关键应用。文章还介绍了不同类型无人机(固定翼、旋翼、混合翼)在建模与仿真中的差异,提出了多学科融合、高精度实时仿真及VR/AR技术等未来发展趋势,并给出了实际建模与仿真的标准操作流程,为无人机系统的设计与优化提供了全面的技术支持与展望。

websocket5live的博客 196

聊天app开发——如何开发聊天app

现阶段,因为移动电话比较简单,所以使用移动app软件达到在线电话通信变得越来越普遍,它只需要一个按键就可以通话,并且只花费一定的流量。改善用户的交流和互动在改善用户的体验感方面起到重要的作用。多种通信方式能使聊天内容更丰富多彩,并允许用户发布越来越多有意思的信息。在语音聊天app软件上,用户可以输入语音,还能够使语音输入更有意思。这类功能在与朋友的对话中将十分有趣,它仅需要用户在讲话前选择要更改的语音类型,进而改善了用户的语音输入感受。文件的传输可以实现生活中资源的共享,推动信息传播。...

Fxhddg的博客 3176

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android学习——APP内容共享

APP内容共享 发送文本内容 发送简单的数据到其他应用,比如社交分享的内容,意图允许用户快速而方便地共享信息。 //分享简单文本内容 public void shareSimpleContentClick(View v){ Intent intent=new Intent(); intent.setAction(Intent.ACTION_SEND); ...

UUUUUltraman的博客 391

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Android - 分享内容 - 给其他APP发送内容

创建一个intent时,必须要指定intent将要触发的操作。Android定义了很多操作,包括ACTION_SEND,就象可以猜到的一样,表示intent是把数据从一个activity发送给另一个,就算是跨界。要发送数据给其他activity,值需要指定数据和它的类型,系统会识别可兼容的接收activity然后展示给用户(如果有多个选择)或者立刻启动activity(如果只有一个选择)...

453

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

onedrive共享文件_如何从OneDrive共享内容

onedrive共享文件If you’ve got an Office 365 account (free or paid), then you’ve got OneDrive, Microsoft’s cloud storage app. Cloud storage is great for sharing files with other people, so let’s see how it...

8320

从零开始水安卓——APP内容共享

在ActionBar一文中已经略有涉及该部分内容,实际上已经算是一个比较完整的小Demo了 https://blog.youkuaiyun.com/nishigesb123/article/details/89082008 发送文本内容 准备一个Button <Button android:layout_width="match_parent" android...

旧日灯塔 2492

十、App内容共享 (如果访问内存卡,需要权限)

十、APP内容共享 (1)共享文本内容 public void shareTextClick(View view){ Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_TEXT,"亲,忙什么呢,哥正在学A

qq_35521087的博客 572

和其他App分享文件(1)设置文件共享

共享文件         App经常需要提供一个或者是多个文件给其他的App。比如说,一个图片画廊可能会提供它们的图片给图片编辑器,或者是一个文件管理器App可能允许用户在外存区域间复制黏贴文件。其中一种发送可分享文件给App的方式是响应一个其他接收的App请求。         在所有情况下,唯一安全的从我们的App提供文件给其他App的方式是发送接收App文件内容的URI和临时授予访问权限

趁着年轻,多学学 1176

APP共享内容

分享简单的文本内容 public void sharedSimpleContentClick(View v){ Intent intent=new Intent(); intent.setAction(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExt...

beibei_programme的博客 392

【Android】Android内容共享

Android系统为了防止某些App滥用权限,从6.0开始引入了运行时权限管理机制,允许App在运行过程中动态检查是否拥有某项权限,一旦发现缺少某种必须的权限,则系统会自动弹出小窗提醒用户去开启该权限。利用ContentProvider只实现服务端App数据封装,如果客户端App想访问对方内部数据,就要通过内容解析器ContentResolver访问。ContentProvider为App存取内部数据提供统一的外部接口,让不同的应用之间得以共享数据。请求系统弹窗,以便用户选择是否开启权限。

LeGuan_Ha的博客 560

共享内容

向其他App发送数据 当你构建一个intent时,你必须要指定该intent要触发的action。Android定义了很多action,包 括ACTION_SEND,你可以猜想一下,指明了该intent是用来把数据从一个activity发送到另一 个activity,甚至能够跨越进程的界限。要给另一个activity发送数据,你所要做的就是指定数 据和其类型,系统将识别兼容的接受act

专注Android开发 1078

安卓学习日记——APP共享内容

分享简单的文本内容 public void sharedSimpleContentClick(View v){ Intent intent=new Intent(); intent.setAction(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExt...

chen_xiaoke的博客 2032

replaykit2屏幕共享 webRTC发送共享画面

iOS 出了replaykit2 后实现了系统屏幕录制功能,终于不在只能应用内录制了,在外部宣讲ppt,变的容易了许多,如何创建使用这个网上有很多extension使用的方法,我在这里也不想多赘述,毕竟是固定方式方法 我这里想讲讲关于如何将在extension中录制的视频流传回主app并将视频流发送到远端,这才是最关键,也是replaykit2这个功能的难点 主要需要解决的问题 2.将共享的视频转换成可以传输的数据类型,在转回CMSampleBufferRef,用于编码或者其他 3.共

chenqiangblogs的博客 1676

AndroidAPP向第三方app发送数据与接收三方APP数据

有时候我们是需要与第三方APP对接共享数据的,例如:淘宝与支付宝许多数据共享,这就产生了第三方APP调用接口共享数据,发送数据与接收数据。 一、发送数据 1、在构建一个intent时,必须指定这个intent需要触发的actions。Android定义了一些actions,比如ACTION_SEND,该action表明该intent用于从一个activity发送数据到另外一个activity的...

lizhong 3051
上一篇: Activity通信 之 允许其他的APP启动你的Activity
下一篇: 插入排序算法
orionhan
博客等级 码龄14年 3粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值