小编Kur*_*ung的帖子

android:从Broadcastreceiver调用函数:无法启动接收器... java.lang.ClassCastException:android.app.ReceiveRestrictedContext

我试图通过通知中的操作按钮中的按钮从名为"通知活动"的广播接收器中调用名为"TrackingScreen"的活动中的函数.

代码导致程序崩溃,标题中提到错误.

在此先感谢任何帮助:)

以下是代码:

在TrackingScreen.java中创建通知的代码

public void updateNotification(){

      boolean firstTime = true;

      NotificationManager mNotificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        nID = 1;     

        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);


        Intent intent= new Intent(this, TrackingScreen.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);

        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT);
        mBuilder.setContentIntent(pendingIntent);




        Intent stoptracking = new Intent(TrackingScreen.this, NotificationActivity.class);
        stoptracking.putExtra("notificationId",nID);
        PendingIntent btPendingIntent = PendingIntent.getBroadcast(this, 0, stoptracking,0);


        mBuilder.setSmallIcon(R.drawable.ic_launcher)
        .setContentTitle("MRT Alarm - Tracking Location")
        .setOnlyAlertOnce(true)
        .setWhen(0)
        .addAction(R.drawable.fail, "Stop Tracking", btPendingIntent);

        if (distance < 1500){
            mBuilder.setContentText("Distance Remaining: " + distance + " m"); …
Run Code Online (Sandbox Code Playgroud)

notifications android broadcastreceiver android-notifications

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