严重异常主android
我收到致命异常主错误。有什么帮助吗 代码如下: 私有void copyStream(字符串assetFilename、字符串outFileName) 抛出IOException { 和logcat 09-16 19:52:26.654:E/AndroidRuntime(294):致命异常:main 09-16 19:52:26.654:E/AndroidRuntime(294):java.lang.IllegalStateException: 无法执行活动09-16 19:52:26.654的方法: E/AndroidRuntime(294):位于android.view.view$1.onClick(view.java:2144) 09-16 19:52:26.654:E/AndroidRuntime(294):在 android.view.view.performClick(view.java:2485)09-16 19:52:26.654: E/AndroidRuntime(294):在 android.view.view$PerformClick.run(view.java:9080)09-16 19:52:26.654: E/AndroidRuntime(294):在 android.os.Handler.handleCallback(Handler.java:587)09-16 19:52:26.654:E/AndroidRuntime(294):在 android.os.Handler.dispatchMessage(Handler.java:92)09-16 19:52:26.654:E/AndroidRuntime(294):在 android.os.Looper.loop(Looper.java:123)09-16 19:52:26.654: E/AndroidRuntime(294):在 android.app.ActivityThread.main(ActivityThread.java:3683)09-16 19:52:26.654:E/AndroidRuntime(294):在 java.lang.reflect.Method.Invokenactive(本机方法)09-16 19:52:26.654:E/AndroidRuntime(294):在 java.lang.reflect.Method.invoke(Method.java:507)09-16 19:52:26.654: E/AndroidRuntime(294):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 09-16 19:52:26.654:E/AndroidRuntime(294):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)09-16 19:52:26.654:E/AndroidRuntime(294):在 dalvik.system.Nativestar.main(本机方法)09-16 19:52:26.654: E/AndroidRuntime(294):由以下原因引起: java.lang.reflect.InvocationTargetException 09-16 19:52:26.654: E/AndroidRuntime(294):位于java.lang.reflect.Method.Invokenactive(本机) 方法)09-16 19:52:26.654:E/AndroidRuntime(294):at java.lang.reflect.Method.invoke(Method.java:507)09-16 19:52:26.654: E/AndroidRuntime(294):位于android.view.view$1.onClick(view.java:2139) 09-16 19:52:26.654:E/AndroidRuntime(294):…11更多09-16 19:52:26.654:E/AndroidRuntime(294):由以下原因引起:java.io.IOException: 断管09-16 19:52:26.654:E/AndroidRuntime(294):在 org.apache.harmony.luni.platform.OSFileSystem.write(本机方法) 09-16 19:52:26.654:E/AndroidRuntime(294):在 BlockGuard$WrappedFileSystem.write(BlockGuard.java:171) 09-16 19:52:26.654:E/AndroidRuntime(294):在 java.io.FileOutputStream.write(FileOutputStream.java:300)09-16 19:52:26.654:E/AndroidRuntime(294):在 java.io.FileOutputStream.write(FileOutputStream.java:256)09-16 19:52:26.654:E/AndroidRuntime(294):在 java.io.DataOutputStream.writeBytes(DataOutputStream.java:167)严重异常主android,android,exception,main,Android,Exception,Main,我收到致命异常主错误。有什么帮助吗 代码如下: 私有void copyStream(字符串assetFilename、字符串outFileName) 抛出IOException { 和logcat 09-16 19:52:26.654:E/AndroidRuntime(294):致命异常:main 09-16 19:52:26.654:E/AndroidRuntime(294):java.lang.IllegalStateException: 无法执行活动09-16 19:52:26.654的方
异常的基础似乎来自“FileOutputStream.write”,您是否已将写入权限添加到清单中
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在mainfest中添加此权限。我希望它对您有效&u应该初始化此对象。在代码中,您将上下文值设为null,这就是它不起作用的原因
/**需要一些初始化,而不是null ContextWrapper myContext=null
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
请使用异步任务或线程。 如果您编写了自己的方法,您可以这样使用:
new Thread(
new Runnable() {
@Override
public void run() {
copyStream();
}
}
);
或者使用AsyncTask默认情况下,您没有对
/system/etc
的写入权限(除非您在设备上进行了一些黑客攻击)。将其更改为环境。getExternalStorageDirectory().getPath()+“/folderName/excluded input devices.xml”
您正在线程内调用onClick方法。这是不可能的,因为视图位于主线程中,无法从任何其他线程访问它们。/**需要一些初始化,而不是null ContextWrapper myContext=null;而不是ContextWrapper myContext=null,我创建了私有ContextWrapper myContext;甚至删除了mycontentxt,仍然没有解决方案。像ContextWrapper myContext=new ContextWrapper()一样初始化您的ContextWrapper;我面临同样的问题。但是如果我将“su”改为“sh”,它就会工作(至少不要引发断管异常)
new Thread(
new Runnable() {
@Override
public void run() {
copyStream();
}
}
);