Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从推送通知服务获取消息并显示到消息活动_Java_Android - Fatal编程技术网

Java 如何从推送通知服务获取消息并显示到消息活动

Java 如何从推送通知服务获取消息并显示到消息活动,java,android,Java,Android,(这是我的通知) 和我的信息活动 public class Message extends Activity { private TextView textViewTitle; private TextView textViewContent; @Override protected void onCreate(@Nullable Bundle savedInstanceState){ super.onCreate(savedInstanceSta

(这是我的通知)

和我的信息活动

public class Message extends Activity {

    private TextView  textViewTitle;
    private TextView  textViewContent;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_message);
    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);

    int width = dm.widthPixels;
    int height = dm.heightPixels;

    textViewTitle = (TextView) findViewById(R.id.textViewTitle);
    textViewContent = (TextView) findViewById(R.id.textViewTitle);

    if (getIntent().getExtras() != null) {
        //init message
        String message = String.valueOf(getIntent().getExtras().get("message"));
        String title = String.valueOf(getIntent().getExtras().get("title"));
        //save the message
        textViewTitle.save(getApplicationContext() , "message" , message);
        textViewContent.save(getApplicationContext() , "title" , title);
        startActivity(new Intent(getApplicationContext() , Message.class));
    }
}

在您的
MyFirebaseMessagingService
中,您发送了一个包含数据的广播

Intent intent = new Intent("myAction");
intent.putExtra("title", title);
intent.putExtra("message", message);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
在您的活动中,您将
广播接收器
注册到
意向过滤器

public class Message extends Activity {

    private MyReceiver myReceiver;

    @Override
    protected void onStart() {
        super.onStart();
        if (myReceiver == null) {
            myReceiver = new MyReceiver();
        }
        // Take care here. The same action defined in IntentFilter
        // of your MyFirebaseMessagingService must be defined here
        LocalBroadcastManager.getInstance(this)
              .registerReceiver(myReceiver, new IntentFilter("myAction"));
    }

    @Override
    protected void onStop() {
        super.onStop();
        LocalBroadcastManager.getInstance(this)
              .unregisterReceiver(myReceiver);
    }

    private class MyReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
            // Here you get your data
            String title = intent.getStringExtra("title");
            String message = intent.getStringExtra("message");
        }
    }
}

在您的
MyFirebaseMessagingService
中,您发送了一个包含数据的广播

Intent intent = new Intent("myAction");
intent.putExtra("title", title);
intent.putExtra("message", message);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
在您的活动中,您将
广播接收器
注册到
意向过滤器

public class Message extends Activity {

    private MyReceiver myReceiver;

    @Override
    protected void onStart() {
        super.onStart();
        if (myReceiver == null) {
            myReceiver = new MyReceiver();
        }
        // Take care here. The same action defined in IntentFilter
        // of your MyFirebaseMessagingService must be defined here
        LocalBroadcastManager.getInstance(this)
              .registerReceiver(myReceiver, new IntentFilter("myAction"));
    }

    @Override
    protected void onStop() {
        super.onStop();
        LocalBroadcastManager.getInstance(this)
              .unregisterReceiver(myReceiver);
    }

    private class MyReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
            // Here you get your data
            String title = intent.getStringExtra("title");
            String message = intent.getStringExtra("message");
        }
    }
}

看起来不错。发货!欢迎来到堆栈溢出!我格式化了您的代码以改进其外观。在将来,您可以通过左对齐文本并将代码缩进至少4个空格来格式化代码。感谢您的帮助…我现在将尝试它…非常感谢…看起来不错。发货!欢迎来到堆栈溢出!我格式化了您的代码以改进其外观。在将来,您可以通过左对齐文本并将代码缩进至少4个空格来格式化代码。感谢您的帮助…我现在将尝试它…非常感谢。。。。