Intent-Filter - conceito básico |
Top Previous Next |
|
São 2 projetos. O primeiro é o projeto que irá "ouvir" as intenções do S.O. será invisível e não aparece no launcher. O outro irá solicitar essa intenção. Projeto 1 - Ouvidor java
import android.app.Activity; import android.os.Bundle; import android.widget.TextView;
public class Tela1 extends Activity {
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
// chamada pela category default do android com Action "ACAO_TESTE" TextView text = new TextView(this); Bundle extras = getIntent().getExtras(); if (extras != null) { String msg = extras.getString("mensagem"); text.setText("Esta é a tela 1\nMensagem: " + msg); } else { text.setText("Esta é a tela 1"); } setContentView(text); } } AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ouvidor" android:versionCode="1" android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application android:icon="@drawable/ic_launcher" android:label="Tela1" > <activity android:name=".Tela1" > <intent-filter> <action android:name="ACAO_TESTE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </application>
</manifest>
Projeto 2 - Teste Basicamente um projeto com 1 botão que chama intenção ACAO_TESTE e o Android vai abrir automaticamente o primeiro projeto. java
import com.testeintencao.R;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button;
public class TesteFiltroIntencaoActivity extends Activity {
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
Button botao = (Button) findViewById(R.id.botao); botao.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) { Intent it; it = new Intent("ACAO_TESTE"); it.putExtra("mensagem", "uma mensagem a ser enviada"); startActivity(it); } }); } } main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >
<Button android:id="@+id/botao" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Enviar intenção!" />
</LinearLayout> |