1

我使用此代码从服务动态创建活动:

显现:

<activity android:name="ServiceDialog" android:label="" android:theme="@android:style/Theme.Dialog" />

活动类:

public class ServiceDialog extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent=getIntent();
        String text = "";
        if(intent.hasExtra("text")) text = intent.getStringExtra("text");

        AlertDialog.Builder alert = new AlertDialog.Builder(this);
        alert.setTitle("Alert");
        alert.setIcon(android.R.drawable.ic_dialog_info);
        alert.setMessage(text);
        alert.setPositiveButton(android.R.string.ok,
                new OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        ServiceDialog.this.finish();
                    }
                });
        alert.setOnCancelListener(new OnCancelListener() {
            @Override
            public void onCancel(DialogInterface arg0) {
                ServiceDialog.this.finish();
            }
        });
        alert.show();
    }

}

活动创建:

Intent intent = new Intent("android.intent.action.MAIN");
intent.setClass(this, ServiceDialog.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("text", "Hello!");
startActivity(intent);

但我有一个问题 - 此活动未显示在任务管理器中(如果我按下“主页”按钮,则无法重新打开该活动)。我能做些什么来修复它?

4

1 回答 1

0

请改用此代码来开始您的活动。

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.putExtra("text", "Hello!");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
startActivity(intent);
于 2012-08-30T12:55:03.843 回答