web-dev-qa-db-ja.com

Androidアプリで[共有]ボタンを有効にする方法

Androidアプリに[共有]ボタンを追加したい。

そのように

:

「共有」ボタンを追加しましたが、ボタンがアクティブではありません。クリックしますが、何も起こりません。

MainActivity.Javaの私のコード:

private ShareActionProvider mShareActionProvider;

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.share_menu, menu);
    getMenuInflater().inflate(R.menu.main, menu);
    MenuItem item = menu.findItem(R.id.share_menu);
    mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.share_menu).getActionProvider();
    mShareActionProvider.setShareIntent(getDefaultShareIntent());

    return true;
}

{
    Intent sharingIntent = new Intent(Intent.ACTION_SEND);
    sharingIntent.setType("text/plain");
    sharingIntent.putExtra(Android.content.Intent.EXTRA_TEXT, "Text");
    sharingIntent.putExtra(Android.content.Intent.EXTRA_SUBJECT, "Subject");
    startActivity(Intent.createChooser(sharingIntent, "Share using"));
}

最初のタブ(first_tab.xml)または2番目のタブ(second_tab.xml)のテキストを共有したい。

タブ内のコード(xml)(必要な場合):

<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:background="@color/background_color"
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=".MainActivity$DummySectionFragment" >

<TextView
    Android:id="@+id/section_label1"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_centerHorizontal="true"
    Android:layout_centerVertical="true"
    Android:text="@string/text"
    Android:textColor="@color/text_color" />

<ImageView
    Android:id="@+id/imageView1"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignParentBottom="true"
    Android:layout_centerHorizontal="true"
    Android:src="@drawable/Sprite" />
102
Personal Jesus

Buttonを追加し、Buttonをクリックして次のコードを追加します。

Intent sharingIntent = new Intent(Android.content.Intent.ACTION_SEND); 
sharingIntent.setType("text/plain");
String shareBody = "Here is the share content body";
sharingIntent.putExtra(Android.content.Intent.EXTRA_SUBJECT, "Subject Here");
sharingIntent.putExtra(Android.content.Intent.EXTRA_TEXT, shareBody);
startActivity(Intent.createChooser(sharingIntent, "Share via"));

便利なリンク:

基本的な共有の場合

カスタマイズ用

274

IDを共有するボタンを作成し、次のコードスニペットを追加します。

share.setOnClickListener(new View.OnClickListener() {             
    @Override
    public void onClick(View v) {

        Intent sharingIntent = new Intent(Android.content.Intent.ACTION_SEND);
        sharingIntent.setType("text/plain");
        String shareBody = "Your body here";
        String shareSub = "Your subject here";
        sharingIntent.putExtra(Android.content.Intent.EXTRA_SUBJECT, shareSub);
        sharingIntent.putExtra(Android.content.Intent.EXTRA_TEXT, shareBody);
        startActivity(Intent.createChooser(sharingIntent, "Share using"));
    }
});

上記のコードスニペットは、共有ボタンのクリックアクションでShare Chooserを開きます。ただし、注意...共有コードスニペットは、エミュレータを使用して非常に良い結果を出力しない場合があります。実際の結果を得るには、Androidデバイスでコードスニペットを実行して、実際の結果を取得します。

8
Daniel Nyamasyo

コトリンで:

val sharingIntent = Intent(Android.content.Intent.ACTION_SEND)
sharingIntent.type = "text/plain"
val shareBody = "Application Link : https://play.google.com/store/apps/details?id=${App.context.getPackageName()}"
sharingIntent.putExtra(Android.content.Intent.EXTRA_SUBJECT, "App link")
sharingIntent.putExtra(Android.content.Intent.EXTRA_TEXT, shareBody)
startActivity(Intent.createChooser(sharingIntent, "Share App Link Via :"))
0
mhKarami