Android 活动不启动

Android 活动不启动,android,android-activity,Android,Android Activity,我使用此代码从我的主菜单开始一个新游戏,一切正常,但当游戏结束时,用户会看到一个弹出窗口(只是另一个名为GameFinished的活动,带有主题。对话框)。用户可以选择是否要再次玩游戏或返回主菜单。这也可以正常工作,但是当我从我的main菜单启动另一个游戏时,什么都没有发生,调试器显示该行已执行 视觉指南: A-->B-->C--完成-->B--完成-->A 在此之后,我不能: A-->B 这是我(非常大)的日志: 再次播放(游戏结束时接到电话): 唯一相关的其他事情是我使用了AsyncTask

我使用此代码从我的
主菜单开始一个新游戏,一切正常,但当游戏结束时,用户会看到一个弹出窗口(只是另一个名为
GameFinished
的活动,带有
主题。对话框
)。用户可以选择是否要再次玩游戏或返回
主菜单
。这也可以正常工作,但是当我从我的
main菜单启动另一个游戏时,什么都没有发生,调试器显示该行已执行

视觉指南:

A-->B-->C--完成-->B--完成-->A

在此之后,我不能:

A-->B

这是我(非常大)的日志:

再次播放(游戏结束时接到电话):


唯一相关的其他事情是我使用了AsyncTask和处理程序。

根据您的错误,您正在泄漏以前注册的IntentReceiver

您需要注销IntentReceiver,对于您的
SimpleMath
活动,
onPause
方法将是执行此操作的好地方

@Override
protected void onPause() {
    super.onPause();
    unregister(); //  here
}

根据您的错误,您正在泄漏先前注册的IntentReceiver

您需要注销IntentReceiver,对于您的
SimpleMath
活动,
onPause
方法将是执行此操作的好地方

@Override
protected void onPause() {
    super.onPause();
    unregister(); //  here
}

ObAt,我的申请中有完全相同的错误。您曾写道您不使用IntentReceiver,但这可能不是真的

似乎您正在使用三星设备的特殊功能-MultiWindow,因此,如果您在清单中注册了意向过滤器,如我:

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <!-- SAMSUNG MULTI-WINDOW -->
        <category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
    </intent-filter>

    <!-- SAMSUNG MULTI-WINDOW -->   
    <meta-data android:name="com.sec.minimode.icon.portrait.normal"
        android:resource="@drawable/ic_launcher" />
    <meta-data android:name="com.sec.minimode.icon.landscape.normal"
        android:resource="@drawable/ic_launcher" />


然后,可能是三星设备在自己的后台注册IntentReceiver,以正确处理与多窗口功能相关的一些任务。我在日志中看到这个错误已经有几个月了,它从来没有出现过任何问题。所以我只是忽略了这一点,直到三星解决了他们这边的问题。这就是我的看法。但是,我的应用程序中有完全相同的错误。您曾写道您不使用IntentReceiver,但这可能不是真的

似乎您正在使用三星设备的特殊功能-MultiWindow,因此,如果您在清单中注册了意向过滤器,如我:

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <!-- SAMSUNG MULTI-WINDOW -->
        <category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
    </intent-filter>

    <!-- SAMSUNG MULTI-WINDOW -->   
    <meta-data android:name="com.sec.minimode.icon.portrait.normal"
        android:resource="@drawable/ic_launcher" />
    <meta-data android:name="com.sec.minimode.icon.landscape.normal"
        android:resource="@drawable/ic_launcher" />


然后,可能是三星设备在自己的后台注册IntentReceiver,以正确处理与多窗口功能相关的一些任务。我在日志中看到这个错误已经有几个月了,它从来没有出现过任何问题。所以我只是忽略了这一点,直到三星解决了他们这边的问题。这就是我的看法

我在SimpleMath中不使用onPause,我只覆盖onResume方法unregister()未定义“您应该!暂停时的
onPause
是取消注册您制作的接收器的最佳位置,这样您在进行下一个活动时就不会泄露。谢谢!但我该怎么称呼注销者呢?Eclipse无法找到此方法。如果不查看您的
SimpleMath
活动代码,我将无法进一步帮助您。你能编辑你的问题并添加到那里吗?奇怪的是我从来没有使用过IntentReceiverI,在SimpleMath中我不使用onPause,我只覆盖onResume方法unregister()未定义“您应该!暂停时的
onPause
是取消注册您制作的接收器的最佳位置,这样您在进行下一个活动时就不会泄露。谢谢!但我该怎么称呼注销者呢?Eclipse无法找到此方法。如果不查看您的
SimpleMath
活动代码,我将无法进一步帮助您。你能编辑你的问题并添加到那里吗?奇怪的是,我从来没有使用过IntentReceiverI,我正在使用三星Galaxy S3和JB(因此它有多窗口),这将解释很多!我将测试它,但非常感谢:)我正在使用三星Galaxy S3和JB(因此它有多窗口),这将解释很多!我将测试它,但非常感谢:)
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_game_gamefinished);

    Window window = this.getWindow();
    window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
            WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);

    android.view.WindowManager.LayoutParams params = getWindow()
            .getAttributes();
    params.width = android.view.WindowManager.LayoutParams.MATCH_PARENT;
    getWindow().setAttributes(
            (android.view.WindowManager.LayoutParams) params);

            setListeners();
}

public void setListeners() {

    button_restart.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            AppData.restartGame = true;
            finish();
        }
    });

    button_mainmenu.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            AppData.finishMe = true;
            finish();
        }
    });
}
@Override
protected void onPause() {
    super.onPause();
    unregister(); //  here
}
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <!-- SAMSUNG MULTI-WINDOW -->
        <category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
    </intent-filter>

    <!-- SAMSUNG MULTI-WINDOW -->   
    <meta-data android:name="com.sec.minimode.icon.portrait.normal"
        android:resource="@drawable/ic_launcher" />
    <meta-data android:name="com.sec.minimode.icon.landscape.normal"
        android:resource="@drawable/ic_launcher" />