android怎么从一个activity获取另一个activity的信息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android怎么从一个activity获取另一个activity的信息相关的知识,希望对你有一定的参考价值。
比如说我要设置一个获取消息activity,另一个是发送消息的,当那个发送消息的activity写了信息并发送之后,获取消息的activity显示那个消息
使用Broadcast广播即可
android系统中,BroadcastReceiver的设计初衷就是从全局考虑的,可以方便应用程序和系统、应用程序之间、应用程序内的通信
在获取消息activity中建立BroadcastReceiver内部类,并且注册广播
示例代码如下
//接受消息的activitypublic class MainActivity extends Activity
private InnerReceiver receiver = new InnerReceiver();
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@Override
protected void onRestart()
super.onRestart();
//注册广播
IntentFilter filter = new IntentFilter("test");
registerReceiver(receiver, filter);
@Override
protected void onStop()
super.onStop();
取消广播
unregisterReceiver(receiver);
public class InnerReceiver extends BroadcastReceiver
@Override
public void onReceive(Context context, Intent intent)
//使用intent获取发送过来的数据
String msg = intent.getStringExtra("msg");
package com.example.demo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
//发送消息的activity
public class SendActivity extends Activity
private Button btn;
private EditText text;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.button);
text = (EditText)findViewById(R.id.text);
btn.setOnClickListener(new OnClickListener()
@Override
public void onClick(View v)
Intent intent = new Intent("test");
intent.putExtra("msg", text.getText().toString());
sendBroadcast(intent);
);
参考技术A Intent(意图)
你搜索这个关键词就有很多你想要的内容,并且比我说的好,我也就不去复制粘贴了本回答被提问者采纳 参考技术B
发送消息是指短消息吗?那直接在接受消息的那个activity用content provider获取系统短消息就行了。
不是的话会发完信息跳转到接受消息的activity?那样使用Intent的putExtra()方法,把消息加进去就好了
不是跳转可以在第一个activity中发消息时广播一下,然后注册一个BroadcastReceiver,接受消息更新接受消息activity中的信息
还是说你要做个聊天的?那是两台手机了,只能用网络通信。
startActivity,startActivityForResult
android 程序 如何从一个ACTIVITY跳转到另一个ACTIVITY,我的两个activity都在manifest上定义过的
package com.example.activity;
import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;
public class MainActivity extends Activity private Button button1 = null; @Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1=(Button)findViewById(R.id.button1); button1.setText(R.string.first); button1.setOnClickListener(new Button.OnClickListener() public void onClick(View v) // TODO Auto-generated method stub button1.setText(R.string.second); Intent intent = new Intent(); intent.setClass(MainActivity.this, otherActivity.class); startActivity(intent); );
上面是第一个界面
下面是第二个界面,即想要跳转到的界面
package com.example.activity;
import android.os.Bundle;import android.app.Activity;import android.widget.TextView;
public class otherActivity extends Activity private TextView myTextView = null; @Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.other); myTextView=(TextView)findViewById(R.id.textView1); myTextView.setText(R.string.second);
程序贬义没报错,也能运行,显示第一个界面,但是点按钮之后没有正确跳转至下一个ACTIVITY,而是提示程序异常,然后退出
看代码没什么问题追问
上面是ERROR和WARN的LOG 这个好难懂啊
以上是关于android怎么从一个activity获取另一个activity的信息的主要内容,如果未能解决你的问题,请参考以下文章
android 程序 如何从一个ACTIVITY跳转到另一个ACTIVITY,我的两个activity都在manifest上定义过的
如何从另一个类(它扩展了 Activity)方法,Android 调用 CCColorLayer 类的方法?
安卓编程 怎么把一个bitmap从一个activity传到另一个activity里?如果不能穿bi