无涯教程-Android - 分享应用数据

45 阅读1分钟

Android使用 ACTION_SEND 事件 android.content.Intent 类,将数据从一个Activity发送到另一个Activity,并从当前Activity到应用程序外部。 Intent类需要指定要共享的数据及其类型。

最常见的是,ACTION_SEND操作发送浏览器应用程序的URL。在共享数据时,Intent调用 createChooser()方法,它采用Intent对象并指定对话框的标题。 Intent.createChooser()方法允许显示选择器。

ACTION_SEND示例

在此示例中,无涯教程将共享纯文本,这是一个浏览器的URL。

文件:activity_main.xml

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:paddingBottom="@dimen/activity_vertical_margin"  
    android:paddingLeft="@dimen/activity_horizontal_margin"  
    android:paddingRight="@dimen/activity_horizontal_margin"  
    android:paddingTop="@dimen/activity_vertical_margin"  
    tools:context="com.example.test.shareapp.MainActivity">  
&lt;TextView  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:text="Hello World!"  
    android:id="@+id/textView" /&gt;  

&lt;Button  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:text="Share App"  
    android:id="@+id/button"  
    android:layout_marginBottom="95dp"  
    android:layout_alignParentBottom="true"  
    android:layout_centerHorizontal="true" /&gt;  

</RelativeLayout>

文件:mainActivity.java

package com.example.test.shareapp;

import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button;

public class MainActivity extends AppCompatActivity { Button sharebutton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

    sharebutton</span><span class="pun">=(</span><span class="typ">Button</span><span class="pun">)</span><span class="pln">findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">button</span><span class="pun">);</span><span class="pln">
    sharebutton</span><span class="pun">.</span><span class="pln">setOnClickListener</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">View</span><span class="pun">.</span><span class="typ">OnClickListener</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="lit">@Override</span><span class="pln">
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> onClick</span><span class="pun">(</span><span class="typ">View</span><span class="pln"> v</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="typ">Intent</span><span class="pln"> shareIntent </span><span class="pun">=</span><span class="pln">   </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Intent</span><span class="pun">(</span><span class="pln">android</span><span class="pun">.</span><span class="pln">content</span><span class="pun">.</span><span class="typ">Intent</span><span class="pun">.</span><span class="pln">ACTION_SEND</span><span class="pun">);</span><span class="pln">
            shareIntent</span><span class="pun">.</span><span class="pln">setType</span><span class="pun">(</span><span class="str">"text/plain"</span><span class="pun">);</span><span class="pln">
            shareIntent</span><span class="pun">.</span><span class="pln">putExtra</span><span class="pun">(</span><span class="typ">Intent</span><span class="pun">.</span><span class="pln">EXTRA_SUBJECT</span><span class="pun">,</span><span class="str">"Insert Subject here"</span><span class="pun">);</span><span class="pln">
            </span><span class="typ">String</span><span class="pln"> app_url </span><span class="pun">=</span><span class="pln"> </span><span class="str">" https://play.google.com/store/apps/details?id=my.example.learnfk"</span><span class="pun">;</span><span class="pln">
            shareIntent</span><span class="pun">.</span><span class="pln">putExtra</span><span class="pun">(</span><span class="pln">android</span><span class="pun">.</span><span class="pln">content</span><span class="pun">.</span><span class="typ">Intent</span><span class="pun">.</span><span class="pln">EXTRA_TEXT</span><span class="pun">,</span><span class="pln">app_url</span><span class="pun">);</span><span class="pln">
            startActivity</span><span class="pun">(</span><span class="typ">Intent</span><span class="pun">.</span><span class="pln">createChooser</span><span class="pun">(</span><span class="pln">shareIntent</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Share via"</span><span class="pun">));</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">});</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

}

输出

android Share App Data 1android Share App Data 2

参考链接

www.learnfk.com/android/and…