Aplikacja powinna po przyjściu smsa (zawerającego odpowiednią treść) wyświetlać okno przez 2 sekundy po czym powinno ono znikać. No i właśnie jest problem bo okno to czasami się nie wyświetla mimo że proces aplikacji jest uruchomiony. Nie wiem czy to wina emulatora czy jakieś moje niedopatrzenie.
---------- Post added at 16:59 ---------- Previous post was at 16:56 ----------
Mam jeszcze prostszy program który wyświetla activity na 2 sekundy po nadejsciu każdego smsa. Również w tej aplikacji activity nie jest wyświetlane za każdym razem mimo uruchomionego procesu.
manifest:
<receiver android:name=".RomariosListener">
<intent-filter> <action android:name= "android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
i uprawnienie: android.permission.RECEIVE_SMS
pliki: RomariosListener.java:
public class RomariosListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, RomariosSmsActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
oraz RomariosSmsActivity.java
public class RomariosSmsActivity extends Activity {
private Thread thread;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.romarios_sms_activity);
thread= new Thread(){
@Override
public void run(){
try {
synchronized(this){
wait(2000);
finish();
}
}
catch(Exception e){
}
}
};
thread.start();
}
}
Mam jakiś błąd czy to emulator? Bo w większości przypadków aplikacja działa, tylko czasami nie i nie wiem dlaczego.