标签: runtimeexception

自定义通知:java.lang.RuntimeException:错误的数组长度

我想利用谷歌的样品用在我的Android应用程序的自定义通知这里(部分创建自定义通知布局).由于我使用了这个确切的代码,我RuntimeException每隔几次就会收到通知.

我的堆栈跟踪:

FATAL EXCEPTION: main
java.lang.RuntimeException: bad array lengths
    at android.os.Parcel.readIntArray(Parcel.java:677)
    at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag(INotificationManager.java:369)
    at android.app.NotificationManager.notify(NotificationManager.java:110)
    at android.app.NotificationManager.notify(NotificationManager.java:90)
    at com.****.service.UpdateFeedService.notifyUpdateProgress(UpdateFeedService.java:266)
    at com.****.service.task.PodcastUpdaterTask.onProgressUpdate(PodcastUpdaterTask.java:63)
    at com.****.service.task.PodcastUpdaterTask.onProgressUpdate(PodcastUpdaterTask.java:1)
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:432)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:144)
    at android.app.ActivityThread.main(ActivityThread.java:4937)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:521)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

我的代码:

private final Intent updateInProgressIntent = new Intent(this.context, PodcastListActivity.class);
private RemoteViews updateInProgressContentView = null;
private PendingIntent updateInProgressPendingIntent = null;
private Notification updateInProgressNotification = null;
...
    @Override 
    public void onCreate() { 
        super.onCreate(); …
Run Code Online (Sandbox Code Playgroud)

notifications android runtimeexception

17
推荐指数
2
解决办法
9392
查看次数

使用自定义parcelable类在Android应用中解组错误

对于我的Android应用程序,我得到了几个解组错误,尽管我认为我已经完成了通过Parcelables 正确保存和加载对象所需的一切.你能告诉我我的代码有什么问题吗?

错误1:

java.lang.RuntimeException: Unable to start activity ComponentInfo
Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@41279860: Unmarshalling unknown type code 6619241 at offset 1372
at android.os.Parcel.readValue(Parcel.java:1922)
at android.os.Parcel.readMapInternal(Parcel.java:2094)
at android.os.Bundle.unparcel(Bundle.java:223)
at android.os.Bundle.getParcelable(Bundle.java:1158)
at android.app.Activity.onCreate(Activity.java:860)
at my.app.package.PlayComputer.onCreate(PlayComputer.java:1012)
at android.app.Activity.performCreate(Activity.java:4465)
Run Code Online (Sandbox Code Playgroud)

在1012行MyActivity是调用super.onCreate(savedInstanceState);ActivityonCreate().

protected void onSaveInstanceState(Bundle savedInstanceState) {
    if (myObject == null) {
        savedInstanceState.putParcelable("myObject", null);
    }
    else {
        savedInstanceState.putParcelable("myObject", myObject);
    }
    savedInstanceState.putInt(...);
    savedInstanceState.putString(...);
    savedInstanceState.putBoolean(...);
    super.onSaveInstanceState(savedInstanceState);
}
Run Code Online (Sandbox Code Playgroud)

myObject是一类MyObject具有以下方法:

public void writeToParcel(Parcel out, int flags) …
Run Code Online (Sandbox Code Playgroud)

android exception parcelable runtimeexception

17
推荐指数
1
解决办法
1万
查看次数

从代码中选中一个菜单项

我有一个Android应用程序,其中一个活动中包含以下菜单项(涉及处理名称和mac编号列表):

<item android:id="@+id/menu_sort_tagg"
      android:icon="@android:drawable/ic_menu_sort_by_size"
      android:title="@string/menu_sort_list" >
      <menu> 
        <group android:checkableBehavior="single">
            <item android:id="@+id/sort_by_name"
                  android:title="@string/sort_by_name" />
            <item android:id="@+id/sort_by_mac"
                          android:title="@string/sort_by_mac" />

     </menu>
</item>
Run Code Online (Sandbox Code Playgroud)

当应用程序状态发生变化时,我希望能够使用以下代码预先检查上次使用的排序选项列表中的哪个项目:

((MenuItem)findViewById(R.id.sort_by_name)).setChecked(true);
Run Code Online (Sandbox Code Playgroud)

问题是这个特定的行给了我一个运行时异常.有没有人知道为什么?

查看日志会发现运行时异常是由空指针异常触发的.通过这种方式更改代码:

MenuItem mi = (MenuItem)findViewById(R.id.sort_by_name);
mi.setChecked(true);
Run Code Online (Sandbox Code Playgroud)

很明显,异常发生在seconds语句中,即MenuItem mi为null.那么为什么第一个语句无法将指针指向正确的MenuItem?

android nullpointerexception menuitem runtimeexception

16
推荐指数
2
解决办法
3万
查看次数

java.lang.RuntimeException:无法调用没有args的公共com.example.syncapp.MessageBase()

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException {

  System.out.println(request.getParameter("msg").toString());
  String data = request.getParameter("msg").toString();
  Gson gson = new Gson();
  MessageBase msggg = gson.fromJson(data, MessageBase.class);
  //System.out.println(msggg.Id + msggg.MessageText);
}
Run Code Online (Sandbox Code Playgroud)
public abstract class MessageBase implements Serializable {
  public int Id;
  public String MessageText;
  public Date ReceiveDate;
}

public class SyncSmsMessage extends MessageBase {
  public String SenderNum;  
}
Run Code Online (Sandbox Code Playgroud)

代码一直有效MessageBase msggg=gson.fromJson(data, MessageBase.class);.我得到这个例外:

java.lang.RuntimeException: Failed to invoke public com.example.syncapp.MessageBase() with no args
  at com.google.gson.internal.ConstructorConstructor$2.construct(ConstructorConstructor.java:94)
  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:162)
  at com.google.gson.Gson.fromJson(Gson.java:795)
  at com.google.gson.Gson.fromJson(Gson.java:761)
  at com.google.gson.Gson.fromJson(Gson.java:710) …
Run Code Online (Sandbox Code Playgroud)

java android json gson runtimeexception

16
推荐指数
2
解决办法
2万
查看次数

从SonarQube 6.5升级到6.6后,弹性搜索"无法以root身份运行"错误.没有其他改变

从SonarQube 6.5升级到6.6后,弹性搜索"无法以root身份运行"错误.没有其他改变.

CentOS 6.8版(最终版)Java(TM)SE运行时环境(版本1.8.0_101-b13)

java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) ~[elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.2.jar:5.6.2]
2017.10.20 11:59:14 WARN  es[][o.e.b.ElasticsearchUncaughtExceptionHandler] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.2.jar:5.6.2]
Caused …
Run Code Online (Sandbox Code Playgroud)

runtimeexception elasticsearch sonarqube sonarqube-ops

16
推荐指数
1
解决办法
2万
查看次数

为什么android logcat没有显示运行时异常的堆栈跟踪?

我正在开发的一个Android应用程序崩溃(修复了),因为应该引发一个IndexOutOfBoundsException.我正在从变量arguments参数(即String ...)扩展AyncTask的类的doInBackground方法中访问一个字符串.我不小心访问了一个元素变量参数字符串的索引1(而不是0)(有点令人尴尬......).当应用程序第一次崩溃时,我查看了我的logcat,(并且多次再次确认我并非疯狂)并且没有找到RuntimeException的堆栈跟踪.我经常碰到我的手机而且总是有一个很好的小堆栈跟踪供我查看并修复,但我很困惑.这是我的logcat的相关部分(其中不包含runtimeexception的堆栈跟踪),紧跟在导致崩溃的代码行之前的调试语句之后:

W/dalvikvm(25643): threadid=11: thread exiting with uncaught exception (group=0x40c281f8)
D/dalvikvm(25643): GC_CONCURRENT freed 1249K, 25% free 12433K/16455K, paused 2ms+6ms
W/dalvikvm(25643): threadid=15: thread exiting with uncaught exception (group=0x40c281f8)
I/Process (25643): Sending signal. PID: 25643 SIG: 9
I/ActivityManager( 5905): Process com.trade.nav.ges (pid 25643) has died.
W/ActivityManager( 5905): Force removing r: app died, no saved state
I/WindowManager( 5905): WIN DEATH: win
I/WindowManager( 5905): WIN DEATH: win
I/SurfaceFlinger( 1746): id=3848 Removed idx=2 Map Size=4
I/SurfaceFlinger( 1746): id=3848 Removed idx=-2 Map Size=4
I/WindowManager( 5905): WIN …
Run Code Online (Sandbox Code Playgroud)

java android logcat runtimeexception android-asynctask

15
推荐指数
2
解决办法
8565
查看次数

RuntimeException:无法调度event @ otto

我们当前的app-version与otto的EventHandler存在问题.我们RuntimeException在崩溃日志中获得了一个以下描述:

"原因:java.lang.RuntimeException:无法调度事件:classcom.nameOfBrand.ui.events.SwitchFragmentEvent to handler [EventHandler public void com.nameOfBrand.ui.activities.MainActivity.onSwitchFragmentEvent(com.nameOfBrand.ui.events.SwitchFragmentEvent) )]"

我们有一个按钮,在onClickListener中我们自动定义SwitchFragmentEvent.在一些奇怪的情况下,框架无法调度事件并抛出一个RuntimeException.

带按钮的片段延伸AbstractResultListFragment,这个片段延伸AbstractFragment.我们在AbstractFragement的onResume中注册EventBus,并在onPause上注销它.一切正常,除了这一个按钮:/

有没有人有这样的想法或曾经做过这样的事情?

更新: Scompt是对的.RuntimeException是从我们的代码中的NullPointerException的原因引发的.谢谢

提普:阅读你的崩溃日志直到最后;)

java android runtimeexception otto

15
推荐指数
1
解决办法
9608
查看次数

Camera java.lang.RuntimeException:setParameters失败

我使用源代码创建了一个自定义相机应用程序,但在少数设备上(如在高分辨率设备上)我得到:

RuntimeException setParameters failed
Run Code Online (Sandbox Code Playgroud)

由于这个原因,我面临这个例外:

params.setPictureSize(1200, 900);
Run Code Online (Sandbox Code Playgroud)

而且我注意到,如果我使用(1600, 1200)而不是(1200, 900)那时候我没有遇到这样的问题

logcat的:

11-07 11:45:20.630: E/AndroidRuntime(3827): FATAL EXCEPTION: main
11-07 11:45:20.630: E/AndroidRuntime(3827): java.lang.RuntimeException: Unable to resume activity {pl.gatti.dgcam/pl.gatti.dgcam.DgCamActivity}: java.lang.RuntimeException: setParameters failed
11-07 11:45:20.630: E/AndroidRuntime(3827):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2825)
11-07 11:45:20.630: E/AndroidRuntime(3827):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2854)
11-07 11:45:20.630: E/AndroidRuntime(3827):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2318)
11-07 11:45:20.630: E/AndroidRuntime(3827):     at android.app.ActivityThread.access$600(ActivityThread.java:144)
11-07 11:45:20.630: E/AndroidRuntime(3827):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317)
11-07 11:45:20.630: E/AndroidRuntime(3827):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-07 11:45:20.630: E/AndroidRuntime(3827):     at android.os.Looper.loop(Looper.java:152)
11-07 11:45:20.630: E/AndroidRuntime(3827):     at android.app.ActivityThread.main(ActivityThread.java:5132)
11-07 11:45:20.630: E/AndroidRuntime(3827):     at java.lang.reflect.Method.invokeNative(Native …
Run Code Online (Sandbox Code Playgroud)

java camera android runtimeexception android-camera

15
推荐指数
1
解决办法
2万
查看次数

getActivity()调用导致RuntimeException:无法启动意图Intent act = android.intent.action.MAIN

更新了#1:更多信息添加到本文末尾

我是Android开发和测试的新手.

我有三个Espresso测试.第一次测试通过,但第二次测试不会运行,因为在第二次测试之前在setUp()方法中调用getActivity()总是失败:

Blockquote java.lang.RuntimeException:无法在45秒内启动意图Intent {act = android.intent.action.MAIN flg = 0x10000000 cmp = my.packagename/.ActivityMain}....

第三次测试通过.

我在创建时没有任何长时间运行的操作,动画或网络调用.我可以点击我的应用程序中的所有菜单项,手动重复测试流程而不会出现问题.

出于某种原因,第一次测试在第二次测试之前"中断"setUp()中的getActivity()调用.以下所有测试(第二次测试后)都将运行正常.

我发现了类似的问题,但看起来它没有解决,它有一点点不同的问题.

测试代码:

import static com.google.android.apps.common.testing.ui.espresso.Espresso.onData;
import static com.google.android.apps.common.testing.ui.espresso.Espresso.onView;
import static com.google.android.apps.common.testing.ui.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
import static com.google.android.apps.common.testing.ui.espresso.action.ViewActions.click;
import static com.google.android.apps.common.testing.ui.espresso.assertion.ViewAssertions.matches;
import static com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers.isDisplayed;
import static com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers.withId;
import static com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.is;
import net.humblegames.bodylasticscalculator.ActivityMain;
import net.humblegames.bodylasticscalculator.R;
import net.humblegames.bodylasticscalculator.applogic.BandSystem;

import org.hamcrest.BaseMatcher;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.junit.After;
import org.junit.Before;

import android.app.Activity;
import android.test.ActivityInstrumentationTestCase2;
import android.util.Log;

public class MenuNavigationTestExperiment extends …
Run Code Online (Sandbox Code Playgroud)

eclipse android runtimeexception android-espresso

13
推荐指数
1
解决办法
9174
查看次数

使用Optional.orElseThrow在Stream中抛出RuntimeException

以下代码工作正常:

Stream.of("key1", "key2")
   .map(key -> {
      SomeObject foo = service.find(key);
      if (foo == null) {
         throw new RuntimeException("No entity found with key: " + key);
      }
      return foo;
   })
   // ...
Run Code Online (Sandbox Code Playgroud)

但是,当我从Optional使用orElseThrow时:

Stream.of("key1", "key2")
   .map(key -> Optional.ofNullable(someService.find(key))
         .orElseThrow(() -> new RuntimeException("No entity found with key: " + key)))
   // ...
Run Code Online (Sandbox Code Playgroud)

我得到一个编译时错误:

错误:(129,33)java:未报告的异常X; 必须被抓住或宣布被抛出

两者都抛出一个RuntimeException,为什么使用Optional的方法不起作用的任何想法?

更新:我的构建基础架构,我尝试使用IntelliJ和Maven编译它:

$ mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)
Maven home: C:\Tools\apache-maven-3.3.9
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_91\jre
Default locale: de_AT, …
Run Code Online (Sandbox Code Playgroud)

java optional runtimeexception java-stream

13
推荐指数
1
解决办法
4530
查看次数