私が作成したいのはポップアップスタイルのアプリケーションです。他のアプリの上にあるAndroidのポップアップスタイルのアクティビティ
私はバックグラウンドでサービスを提供しています。何かがキューに到着し、ユーザーに知らせるアクティビティが必要です.SMSPopupアプリケーションの機能と非常によく似ています。
私は何かがキューに到着し、私の活動を呼び出すコードを持っています。
ただし、何らかの理由で、アクティビティがAndroidデバイスのメインデスクトップに表示されるのではなく、最初に開始されたアクティビティの上に常に表示されます。一例として、
:
私は、アプリケーションが
を実行したとき、私は私がポップアップ活性を有するキュー
をチェックするサービスを持って示されている主な活性を有しています。
メインアクティビティを開始すると、サービスが開始されます。これでこれを閉じることができます。
私は、キューに何かを持って、それはそれの上にポップアップでの主な活動を起動するポップアップアクティビティを作成します。■私はこれをどのように停止しないと私が望む通りに振る舞うが...
public class SMSPopup extends Activity implements OnClickListener{
public static String msg;
@Override
public void onCreate(Bundle bundle){
super.onCreate(bundle);
// Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show();
this.setContentView(R.layout.popup);
TextView tv = (TextView)findViewById(R.id.txtLbl);
Intent intent = getIntent();
if (intent != null){
Bundle bb = intent.getExtras();
if (bb != null){
msg = bb.getString("com.andy.tabletsms.message");
}
}
if(msg == null){
msg = "LOLOLOL";
}
tv.setText(msg);
Button b = (Button)findViewById(R.id.closeBtn);
b.setOnClickListener(this);
}
@Override
public void onClick(View v) {
this.finish();
}
}
と私はすべて30秒ほど待ち行列をチェックする放送受信機からのアクティビティを呼び出します:ポップアップクラスがある
if(main.msgs.size()>0){
Intent testActivityIntent = new Intent(context.getApplicationContext(), com.andy.tabletsms.work.SMSPopup.class);
testActivityIntent.putExtra("com.andy.tabletsms.message", main.msgs.get(0));
testActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(testActivityIntent);
}
レイアウトはここにある:http://pastebin.com/F25u6wdM
(main.msgs.get(0)のように)「main」とは何ですか、それはどこですか? – Squonk
その文字列を含むarraylist ....問題に実際には関係していません:) – RenegadeAndy
あなたは言う - "...メインアクティビティをポップアップで起動します"主な活動は「本当に」開始されましたか?つまり、BACKボタンを押すと、ポップアップアクティビティが消えてメインアクティビティが表示されます。または、ポップアップアクティビティがメインアクティビティと同じタイトルバーを持つバックグラウンドを持っている場合は、メインアクティビティのように見えますか? – Squonk