TaskStackBuilder #startActivities()NullPointerException

时间:2015-02-26 23:22:43

标签: android android-intent broadcastreceiver taskstackbuilder

我在4.4.2和4.4.3设备上发生了崩溃(虽然我不确定这是一个API问题),但在某些ParsePushBroadcastReceiver中,以下代码会导致{{1}在NullPointerException电话的深处。

startActivities

我已经尝试过测试以查看上下文是否为null,但是,Intent实例化会抓住它。值得注意的是,此应用程序正在使用Intent intent = new Intent(context, SomeActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); TaskStackBuilder.create(context) .addParentStack(SomeActivity.class) .addNextIntent(intent) .startActivities(); 。 此崩溃的崩溃日志:

Parse Push

1 个答案:

答案 0 :(得分:12)

我无法解决此问题,因为我怀疑这可能是4.4。*设备特有的错误。作为替代方案,我将PendingIntent.getActivities的使用替换为通过final Intent parentIntent = new Intent(context, ParentActivity.class); parentIntent.putExtra(ParentActivity.EXTRA, extraValue); final Intent childIntent = new Intent(context, ChildActivity.class); childIntent.putExtra(ChildActivity.EXTRA, extraChildValue); childIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); final Intent[] intents = new Intent [] {parentIntent, childIntent}; PendingIntent pendingIntent = PendingIntent.getActivities(context, INTENT_REQUEST_CODE, intents, PendingIntent.FLAG_ONE_SHOT); pendingIntent.send(); 创建我的活动。就我而言,这提供了相同的功能,它是一个简单的替代品。也许你会发现它也很有用。

<input type="checkbox" ng-repeat="bx in boxes" ng-model="bx.value" ng-change="boxChecked($index, bx.value)">