Android uygulamasında "Paylaş" düğmesi nasıl etkinleştirilir?


109

android uygulamama "Paylaş" düğmesi eklemek istiyorum.

Bunun gibi

:

"Paylaş" butonunu ekledim ama buton aktif değil. Tıkladım ama hiçbir şey olmuyor.

MainActivity.java'daki kodum:

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"));
}

İlk sekmemde (first_tab.xml) veya ikinci sekmemde (second_tab.xml) metin paylaşmak istiyorum.

Sekmedeki kod (xml) (Gerekirse):

<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" />


5
Bu tür bir Paylaş düğmesi eklemek için ActionBar / ActionBarSherlock kullanmanız ve ShareProvider eklemeniz gerekir.
h4rd4r7c0r3

Yanıtlar:


301

Bu kodu eklemek Buttoniçin bir ve tıklayın.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"));

Kullanışlı bağlantılar:

Temel paylaşım için

Özelleştirme için


Düğme nereye eklensin? shareEylem
Çubuğumdaki

Merhaba, Yukarıdaki yöntemde birden fazla uygulama görüntüleniyor gibi görünüyor. Paylaşım için hangi uygulamanın kullanıldığını bilmek istiyorum ve paylaşım tamamlandıktan sonra bir API çağırmam gerekiyor. Hangi uygulamanın kullanıldığını ve ayrıca paylaşımdan sonra API'nin nasıl çağrılacağını kontrol etmek mümkün müdür? Teşekkür ederim ...
patel135


Facebook dışında benim için iyi çalışıyor. Orada maalesef hiçbir şey göstermiyor.
Evaggelos Manousakis

bir resim nasıl eklenir? lütfen bana önerebilir misin?
Tasnuva oshin

13

Kimlik paylaşımına sahip bir düğme oluşturun ve aşağıdaki kod parçacığını ekleyin.

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"));
    }
});

Yukarıdaki kod parçacığı, paylaş düğmesi tıklama eyleminde paylaşım seçiciyi açacaktır. Ancak, unutmayın ... Paylaşım kodu pasajı, emülatör kullanılarak çok iyi sonuçlar vermeyebilir. Gerçek sonuçlar için, gerçek sonuçları almak için kod parçacığını android cihazda çalıştırın.


4

kotlin'de:

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 :"))
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.