андроид открытое действие диалога, не открывая основной вид деятельности позади него

Я пишу программу, которая предлагает диалоговое окно быстрого ответа по получении SMS.

Однако я получаю неожиданный результат. Когда я, receieve, SMS, соответствующее диалоговое действие подходит, отображая корректный номер телефона и сообщение, однако существует второе действие позади него, которое является действием 'по умолчанию' в моей программе (это - то, что открывается, когда я запускаю свое приложение),

Я не хочу, чтобы это второе действие подошло. Действие быстрого ответа должно подойти отдельно по вершине того, что пользователь делал прежде.

'Плавающее' действие:

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

}

}

Вызов к действию в 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);

Декларация:

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

6
задан jwheels 19 July 2010 в 14:57
поделиться