Activity Will Get Get Destroyed and Turn Back To Main Activity Error: E/AndroidRuntime: FATAL EXCEPTION: main
Activity Will Get Get Destroyed and Turn Back To Main Activity Error: E/AndroidRuntime: FATAL EXCEPTION: main
所以我一直在寻找 Whosebug + reddit + 文档,但仍然没有解决这个问题,我尝试了很多 catch 块,但没有任何线索我尝试了 bytearray 但仍然是同样的问题。这是错误:
ERROR """ E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.namecompany.nameoftheapp, PID: NOOFPID
java.lang.IllegalArgumentException: bad base-64
at android.util.Base64.decode(Base64.java:161)
at android.util.Base64.decode(Base64.java:136)
at android.util.Base64.decode(Base64.java:118)
at com.nameoftheapp.company.EncryptDecrypt.onClick(EncryptDecrypt.java:56)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24770)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) """ ERROR
'''
**代码: '''
试试{
encode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
encode.setText(Base64.encodeToString(inputText.getText().toString().getBytes(), Base64.DEFAULT));
}
});
decode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
decode.setText(new String(Base64.decode(inputText.getText().toString(), Base64.DEFAULT)));
}
});
}
catch (Exception e) {
Toast.makeText(EncryptDecrypt.this,"Numbers Cannot Be Decoded!",Toast.LENGTH_SHORT).show();
} ''''code** '''
UPDATE::::: 虽然测试编码部分很好,但有时解码会完全脱离 class/activity 并到达主要部分并向我显示代码上方的错误::: : 更新
如果您有任何解决方案或之前遇到过此问题,请lmk。提前致谢
问题出在您的 try/catch 块的结构中。你有一个形状像这样的东西:
try {
encode.setOnClickListener(...);
decode.setOnClickListener(...);
} catch (Exception e) {
// ...
}
这只会捕获设置侦听器时抛出的异常。它不会对从 侦听器内部抛出的异常产生任何影响。
试试这个:
decode.setOnClickListener(
@Override
public void onClick(View v) {
try {
decode.setText(...);
} catch (Exception e) {
// show toast message here
}
}
);
所以我一直在寻找 Whosebug + reddit + 文档,但仍然没有解决这个问题,我尝试了很多 catch 块,但没有任何线索我尝试了 bytearray 但仍然是同样的问题。这是错误:
ERROR """ E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.namecompany.nameoftheapp, PID: NOOFPID
java.lang.IllegalArgumentException: bad base-64
at android.util.Base64.decode(Base64.java:161)
at android.util.Base64.decode(Base64.java:136)
at android.util.Base64.decode(Base64.java:118)
at com.nameoftheapp.company.EncryptDecrypt.onClick(EncryptDecrypt.java:56)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24770)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) """ ERROR
''' **代码: ''' 试试{
encode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
encode.setText(Base64.encodeToString(inputText.getText().toString().getBytes(), Base64.DEFAULT));
}
});
decode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
decode.setText(new String(Base64.decode(inputText.getText().toString(), Base64.DEFAULT)));
}
});
}
catch (Exception e) {
Toast.makeText(EncryptDecrypt.this,"Numbers Cannot Be Decoded!",Toast.LENGTH_SHORT).show();
} ''''code** '''
UPDATE::::: 虽然测试编码部分很好,但有时解码会完全脱离 class/activity 并到达主要部分并向我显示代码上方的错误::: : 更新
如果您有任何解决方案或之前遇到过此问题,请lmk。提前致谢
问题出在您的 try/catch 块的结构中。你有一个形状像这样的东西:
try {
encode.setOnClickListener(...);
decode.setOnClickListener(...);
} catch (Exception e) {
// ...
}
这只会捕获设置侦听器时抛出的异常。它不会对从 侦听器内部抛出的异常产生任何影响。
试试这个:
decode.setOnClickListener(
@Override
public void onClick(View v) {
try {
decode.setText(...);
} catch (Exception e) {
// show toast message here
}
}
);