Перехват входящего смс и вывод в edittext.
Добавлено: 06 июл 2016, 12:41
Как перехватить сообщение я знаю, а как его перевести в edittext?
Добро пожаловать на форум сайта
http://forum.startandroid.ru/
Код: Выделить всё
IncomingSms.java file details :
I have made broadcast event reciever in this file
1. Created class IncomingSms with extends BroadcastReceiver class
IncomingSms общественный класс расширяет приемник broadcastreceiver
2. Get the object of SmsManager to find out received sms details
// Получаем объект smsmanager с
окончательный smsmanager с помощью SMS = smsmanager с.getDefault();
не можешь справиться со своим браузером? какие там могут быть смс?Glanas писал(а):У меня яндекс браузер. Перевод отключаю, но все равно половина по русски.Код: Выделить всё
IncomingSms.java file details : I have made broadcast event reciever in this file 1. Created class IncomingSms with extends BroadcastReceiver class IncomingSms общественный класс расширяет приемник broadcastreceiver 2. Get the object of SmsManager to find out received sms details // Получаем объект smsmanager с окончательный smsmanager с помощью SMS = smsmanager с.getDefault();
Код: Выделить всё
package example.smsrecever;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
IntentFilter intentFilter;
private BroadcastReceiver intentRecever = new BroadcastReceiver(){
@Override
public void onReceive(Context context,Intent intent)
{
TextView inTxt = (TextView) findViewById(R.id.textView1);
inTxt.setText(intent.getExtras().getString("sms"));}
};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("SMS_RECEIVED_ACTION");
}
@Override
protected void onResume(){
//регистрируем ресивер
registerReceiver(intentRecever, intentFilter);
super.onResume();
}
@Override
protected void onPause(){
//остановка ресивера
unregisterReceiver(intentRecever);
super.onPause();
}
}
Код: Выделить всё
package example.smsrecever;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;
public class SmsRecever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
SmsMessage[] messages = null;
String str = "";
if(bundle != null)
{
Object[] pdus = (Object[]) bundle.get("pdus");
messages = new SmsMessage[pdus.length];
for(int i=0; i<messages.length; i++)
{
messages[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
str += "Messafe from "+messages[i].getOriginatingAddress();
str += " :";
str += messages[i].getMessageBody();
str += "\n";
}
Toast.makeText(null, str, Toast.LENGTH_LONG).show();
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("SMS_RECEVED_ACTION");
broadcastIntent.putExtra("sms",str);
context.sendBroadcast(broadcastIntent);
}
}
}
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="example.smsrecever"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".AdctivityMainActivity"
android:label="@string/title_activity_adctivity_main" >
</activity>
<receiver android:name="SmsRecever">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
</application>
</manifest>