我目前正在开发一个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>
答案 0 :(得分:2)
如果您正在恢复主活动而不仅仅是启动它,则没有理由调用startActivity。只需完成当前活动,Android就会将其从活动堆栈弹出并转到上一个活动堆栈。有关详细信息,请参阅文档中的Android Activity Lifecycle。
答案 1 :(得分:0)
尝试传递此而不是v.getContext()。
您的代码是否启动了长时间运行的操作?
答案 2 :(得分:0)
我通过为第二个活动创建一个新线程来解决问题。谢谢你的帮助。