广播接收器未发布我的数据

我正在尝试在通知按钮上实现广播接收器。问题是我看不到烤面包片。

带按钮的自定义通知的功能,在单击按钮时应发送通知:

public void CustomNotification() {

    RemoteViews remoteViews = new RemoteViews(getPackageName(),
            R.layout.customnotification);

    String strtitle = getString(R.string.customnotificationtitle);
    String strtext = getString(R.string.customnotificationtext);
    Intent intent = new Intent(this, NotificationView.class);
    intent.putExtra("title", strtitle);
    intent.putExtra("text", strtext);
    PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent,
            PendingIntent.FLAG_UPDATE_CURRENT);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.desktop_icon)
            .setTicker(getString(R.string.customnotificationticker))
            .setAutoCancel(true)
            .setContentIntent(pIntent)
            .setContent(remoteViews);


    remoteViews.setImageViewResource(R.id.imagenotileft,R.drawable.ic_launcher);
    remoteViews.setImageViewResource(R.id.imagenotiright,R.drawable.icon_connected_phone);
    remoteViews.setTextViewText(R.id.title,getString(R.string.customnotificationtitle));
    remoteViews.setTextViewText(R.id.text,getString(R.string.customnotificationtext));

    //On button click
    Intent BRintent = new Intent("MyCustomIntent");
    BRintent.putExtra("message", "TST");
    BRintent.setAction("com.example.notificationtest.CUSTOM_INTENT");
    sendBroadcast(intent);

    PendingIntent pIntent2 = PendingIntent.getActivity(this, 0, BRintent, PendingIntent.FLAG_UPDATE_CURRENT);
    remoteViews.setOnClickPendingIntent(R.id.notif_btn, pIntent2);
    //End on button click

    NotificationManager notificationmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    notificationmanager.notify(0, builder.build());

}

在清单中添加:

 <receiver android:name="MyBroadcastReceiver">
            <intent-filter>
                    <action android:name="com.example.notificationtest.CUSTOM_INTENT">
                    </action>
            </intent-filter>
 </receiver>

广播接收器类别:

public class MyBroadcastReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub

        // Extract data included in the Intent
        CharSequence intentData = intent.getCharSequenceExtra("message");   
        Toast.makeText(context, "Test Notification"+intentData, Toast.LENGTH_LONG).show();
        Log.d("MyTag", "Test");
    }

}
大卫·水

在此通话中:

PendingIntent pIntent2 = PendingIntent.getActivity(this, 0, BRintent, 
         PendingIntent.FLAG_UPDATE_CURRENT);

您正在呼叫getActivity(),这将返回一个PendingIntent启动活动的。那不是你想要的。您要广播一个Intent。改为这样做:

PendingIntent pIntent2 = PendingIntent.getBroadcast(this, 0, BRintent, 
         PendingIntent.FLAG_UPDATE_CURRENT);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

广播接收器未发布我的数据

来自分类Dev

我的广播接收器未从本地服务接收广播

来自分类Dev

广播接收器

来自分类Dev

通过广播接收器发布时,Facebook EOFException

来自分类Dev

我的广播接收器未接收到

来自分类Dev

广播接收器未在android中接收意图数据。

来自分类Dev

广播接收器vs唤醒广播接收器

来自分类Dev

广播接收器或服务?

来自分类Dev

我的通知无法播放广播接收器

来自分类Dev

在广播接收器中访问ViewModel生成的数据

来自分类Dev

以时间敏感的方式为广播接收器加载数据

来自分类Dev

将数据从广播接收器发送到 MainActivity

来自分类Dev

接收并注册广播接收器

来自分类Dev

Android 广播接收器未接收显式广播?

来自分类Dev

使用清单注册广播接收器

来自分类Dev

广播接收器未注册

来自分类Dev

广播接收器的生命周期

来自分类Dev

AlarmManager无法从广播接收器工作

来自分类Dev

应用内广播接收器

来自分类Dev

通知广播接收器的片段或活动

来自分类Dev

广播接收器未注销

来自分类Dev

分别注销广播接收器的操作

来自分类Dev

如何注入广播接收器

来自分类Dev

广播接收器和屏幕关闭

来自分类Dev

使用哪种广播接收器?

来自分类Dev

从广播接收器更新ui

来自分类Dev

来自广播接收器的通知

来自分类Dev

尝试从广播接收器开始活动

来自分类Dev

在广播接收器中更新TextView