Estoy escribiendo un programa que ofrece un cuadro de diálogo de respuesta rápida al recibir un SMS.android abrir la actividad de diálogo sin abrir la actividad principal detrás de él
Sin embargo, estoy obteniendo un resultado inesperado. Cuando recibo un SMS, aparece la actividad de diálogo adecuada que muestra el número de teléfono y el mensaje correctos; sin embargo, hay una segunda actividad detrás que es la actividad 'predeterminada' en mi programa (es lo que se abre cuando lance mi aplicación)
No quiero que surja esta segunda actividad. La actividad de respuesta rápida debería aparecer por encima de todo lo que el usuario estaba haciendo antes.
La actividad 'flotante':
public class quickReply extends Activity {
String mNumber, mMessage;
TextView mMainText;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mMainText = (TextView)findViewById(R.id.mainText);
try{
Intent i = getIntent();
Bundle extras = i.getExtras();
mNumber = extras.getString("theNumber");
mMessage = extras.getString("theMessage");
this.setTitle("Message From:" + mNumber);
mMainText.setText(mMessage);
} catch(Exception e) {
mMainText.setText(e.getMessage());
}
}
}
La llamada a la actividad dentro de un OnReceive()
Intent i = new Intent(context, quickReply.class);
i.putExtra("theNumber", mNumber);
i.putExtra("theMessage", mMessage);
i.setFlags(
Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
El Manifiesto:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".quickReply"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".SmsReceiver">
<intent-filter>
<action android:name=
"android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
</application>