Kadang ingin juga membuat Aplikasi Android yang bisa mengirimkan atau sharing teks yang sedang kita tulis atau input ke aplikasi lain, misalnya saja aplikasi GMail, Facebook App For Android atau Twitter App For Android dan masih banyak lagi.Ternyata solusinya lagi-lagi menggunakan Intent. Wah banyak banget ternyata kemampuan Intent ini. Kali ini kita gunakan Send Intent. Berikut caranya, buat project Android Baru :
Pada MainActivity.java ketikkan kode program ini :
package com.amijaya.sharesendintenttext;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnShare = (Button)findViewById(R.id.btnShare);
btnShare.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
EditText edJudul = (EditText)findViewById(R.id.edJudul);
EditText edIsi = (EditText)findViewById(R.id.edIsi);
Intent i = new Intent(android.content.Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(android.content.Intent.EXTRA_SUBJECT, edJudul.getText().toString());
i.putExtra(android.content.Intent.EXTRA_TEXT, edIsi.getText().toString());
startActivity(Intent.createChooser(i, "Share via"));
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Kemudian pada layout activity_main.xml kita buat seperti ini :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pesan untuk di-share?" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Judul" />
<EditText
android:id="@+id/edJudul"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Isi" />
<EditText
android:id="@+id/edIsi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<Button
android:id="@+id/btnShare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Share" />
</LinearLayout>
Untuk AndroidManifest.xml tidak perlu diubah, seperti ini :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.amijaya.sharesendintenttext"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.amijaya.sharesendintenttext.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Hasilnya :
Misalnya dipilih aplikasi GMail, hasilnya sebagai berikut :
Project selengkapnya dapat didownload disini. Jika kesulitan, seperti ini cara downloadnya.
Semoga menarik :)



Tidak ada komentar:
Posting Komentar