Intent-Filter - categoria |
Top Previous Next |
Este exemplo complementa o Intent-Filter - conceito básico. Java
package com.tela2;
import android.app.Activity; import android.os.Bundle;
public class Tela2Activity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" />
</LinearLayout>
Manifest
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.tela2" android:versionCode="1" android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".Tela2Activity" android:label="@string/app_name" > <intent-filter> <action android:name="ACAO_TESTE" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="CATEGORIA_TESTE" /> </intent-filter> </activity> </application>
</manifest>
Modifique o Projeto 2 - Teste: Intent it; it = new Intent("ACAO_TESTE"); it.addCategory("CATEGORIA_TESTE"); it.putExtra("mensagem", "uma mensagem a ser enviada"); startActivity(it); }
Desta forma, ao pressionar o botão, só a Tela2 aparece. Mas se você rodar sem esta linha (amarelo), o Android perguntará qual Activity deverá responder a "ACAO_TESTE":
|