0

数秒後にフォアグラウンドになったときに AlertDialog を表示するプログラムがあります。

    ActivityManager am = (ActivityManager) getSystemServ();
    if (am != null) {
        List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1);
        if (taskInfo != null && !taskInfo.isEmpty()) {
            if (taskInfo.get(0) != null && taskInfo.get(0).topActivity != null) {
                if (!MY_CLASS_NAME.equalsIgnoreCase(taskInfo.get(0).topActivity.getClassName())) {

                    new AlertDialog.Builder(this).setMessage("AAAAAAAAAAAAAAAAAAAAAAAAAAAA?")
                    .setTitle("Message").setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {                                

                        }  
                    })  
                    .setNegativeButton("No", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which){

                        }
                    }).show();                      
                }
            }
        }                       
    }       

しかし、アプリがフォアグラウンドに移動したときに AlertDialog が表示されませんでした! 助けてください!ありがとう!

4

3 に答える 3

0

サービスからダイアログを表示することはできません。代わりに、ダイアログのようなテーマのアクティビティを使用し、次のように (マニフェストで) アクティビティのテーマを設定します。

android:theme="@android:style/Theme.Dialog"

また、次のように代わりにTimerTask使用しないでください: http://developer.android.com/resources/articles/timed-ui-updates.htmlHandler

于 2012-06-05T07:39:08.757 に答える