恢复到主要活动

时间:2012-02-02 20:10:17

标签: android

我目前正在开发一个Android 2.2应用程序,需要从另一个应用程序恢复到主要活动。

我正在使用此代码:

private void btnAbort_OnClick(View v) 
    {
        startActivity(new Intent(v.getContext(), Main.class));
        finish();
    }

但是当我调用该方法(通过单击按钮)时,我收到以下错误:

02-02 20:05:19.117:E / dalvikvm(864):无法打开堆栈跟踪文件'/data/anr/traces.txt':权限被拒绝

这里出了什么问题?

编辑: 清单代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="eu.game"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="7" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".Main"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity 
            android:name=".SingleplayerActivity"
            android:theme="@android:style/Theme.NoTitleBar">
            <intent-filter>
                <action android:name="eu.game.SINGLEPLAYERACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>

3 个答案:

答案 0 :(得分:2)

如果您正在恢复主活动而不仅仅是启动它,则没有理由调用startActivity。只需完成当前活动,Android就会将其从活动堆栈弹出并转到上一个活动堆栈。有关详细信息,请参阅文档中的Android Activity Lifecycle

答案 1 :(得分:0)

尝试传递此而不是v.getContext()。

您的代码是否启动了长时间运行的操作?

答案 2 :(得分:0)

我通过为第二个活动创建一个新线程来解决问题。谢谢你的帮助。