如何在android中通过传入短信启动活动
我想在收到的短信上开始一项活动。为此,我做了以下工作如何在android中通过传入短信启动活动,android,android-activity,Android,Android Activity,我想在收到的短信上开始一项活动。为此,我做了以下工作 public class ReceiveSMS extends BroadcastReceiver { Boolean SendSMS; String Mobileno; String VarMessageBody; @Override public void onReceive(Context context, Intent intent) { Bundle bundle
public class ReceiveSMS extends BroadcastReceiver {
Boolean SendSMS;
String Mobileno;
String VarMessageBody;
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i = 0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
str += "SMS from " + msgs[i].getOriginatingAddress();
Mobileno = msgs[i].getOriginatingAddress();
str += " :";
str += msgs[i].getMessageBody().toString();
VarMessageBody = msgs[i].getMessageBody().toString();
str += "\n";
Mobileno = msgs[i].getOriginatingAddress();
}
if (VarMessageBody.startsWith("START")) {
Intent intentHome = new Intent(context,SwitchBluetoothActivity.class);
intentHome.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intentHome);
}
}
}
}
我还在AndroidManifest.xml中添加了意图过滤器,但我的问题是。我无法启动此活动。请给我建议我在哪里犯了错误
这是我的清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxxxxx.smsServices"
android:versionCode="1"
android:versionName="1.0" >
<activity android:name=".SwitchBluetoothActivity">
</activity>
<receiver android:name=".ReceiveSMS">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.BROADCAST_SMS"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
</application>
</manifest>
默认广播接收器没有任何优先级,因此默认活动将启动。要启动AcitCity,请在清单中为接收器添加优先级
<receiver android:name=".SmsReciever">
<intent-filter android:priority="99999">
<action android:name="android.provider.telephony.SMS_RECIEVED"></action>
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
您还必须在清单中添加此权限
<receiver android:name=".SmsReciever">
<intent-filter android:priority="99999">
<action android:name="android.provider.telephony.SMS_RECIEVED"></action>
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
有人打电话给接受者吗?同时发布您的清单,以便我们可以查看它注册到的对象recieve@MikeIsrael我已经添加了我的清单。如果用户必须为接收短信付费,即使应用程序处理的是意图而不是信使,他们也会被收费吗?我不明白你的意思?