【发布时间】:2016-03-21 20:25:09
【问题描述】:
我的代码有两个活动。
public class OnCallingActivity extends Activity implement TextToSpeech.OnInitListener{}
public class TextReceiverActivity extends BroadcastReceiver{}
我希望第一个活动扩展第二个活动
OnCallingActivity extends TextReceiverActivity {}
所以我这样做了,
public class OnCallingActivity extends Activity implements TextToSpeech.OnInitListener {
private TextReceiverActivity TextReceiverActivityClass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.on_calling_layout);
TextReceiverActivityClass= new TextReceiverActivity();
speaker= new TextToSpeech(this, this);
callerIdText=(TextView)findViewById(R.id.callerIdtextview);
callerText=(TextView)findViewById(R.id.callermsgtextview);
translatedText=(TextView)findViewById(R.id.translatedTextview);
speakButton=(ImageButton)findViewById(R.id.btnSpeak);
sendButton=(Button)findViewById(R.id.buttonsend);
endCallButton=(ImageButton)findViewById(R.id.buttonendCall);
}
我的第二个活动如下,
public class TextReceiverActivity extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
number ="";
message="";
final Bundle bundle = intent.getExtras();
try {
if(bundle != null) {
final Object[] pduObjects = (Object[]) bundle.get("pdus");
for(int i = 0; i < pduObjects.length; ++i) {
SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pduObjects[i]);
number = currentMessage.getDisplayOriginatingAddress();
message = currentMessage.getDisplayMessageBody();
Toast.makeText(context, "SENDER NUMBER: " + number + "; MESSAGE: " + message, Toast.LENGTH_LONG).show();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
在第一个活动中,我这样调用第二个活动的方法
public void onReceive(Context context, Intent intent) {
TextReceiverActivityClass.onReceive(context, intent);
}
onReceive 给出数字和消息的值。所以我怎样才能让它们进入我的第一个活动以在 TextViews 中显示它们。
onReceive 是一个内置方法,因此我无法更改返回类型。
【问题讨论】:
-
请正确格式化您的问题。这是不可读的。
-
对不起..刚刚做了,
标签: java android android-intent