2012-05-23 31 views
0

我的问题非常简单,我知道可以执行此功能。我想通过短信如“我的骰子”开始活动,这怎么办?请提供任何信息。我认为SMSReceiver BroadcastReceiver是正确的方向,但我不确定。如何向Android发送文本消息并启动应用程序或应用程序活动

+0

您必须在接收文本消息时创建侦听器。 请参阅:http://davanum.wordpress.com/2007/12/15/android-listen-for-incoming-sms-messages/ – Guillaume

回答

1

您需要注册在AndroidManifest.xml中的广播接收器,接收广播SMS_RECIVERD如:在你的广播接收器的代码

<uses-permission android:name="android.permission.RECEIVE_SMS"/> 

启动应用程序,如:

<receiver android:name=".SMSReceiver"> 
     <intent-filter> 
      <action android:name= 
       "android.provider.Telephony.SMS_RECEIVED" /> 
     </intent-filter> 
    </receiver> 

添加在AndroidManifest权限:

public class SMSReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){  
    //context.startService(new Intent(context, YourService.class)); 

    //Start activity as: 
    Intent intent24 = new Intent(Intent.ACTION_MAIN).addCategory(
    Intent.CATEGORY_LAUNCHER).setClassName("YOUR_PACKAGE_NAME", 
    "com.YOUR_PACKAGE_NAME..YOURACTIVITY_NAME").addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 
    .addFlags(Intent.FLAG_FROM_BACKGROUND).setComponent(new ComponentName("YOUR_PACKAGE_NAME", 
    "com.YOUR_PACKAGE_NAME..YOURACTIVITY_NAME")); 
    context.startActivity(intent24); 
    } 
} 
} 

注意:要从后台启动活动,您需要设置Intent.FLAG_ACTIVITY_NEW_TASKIntent.FLAG_FROM_BACKGROUND标志以便从后台启动活动。

+0

我正在尝试您的代码,但如何设置关键字以启动活动? – KaSiris

+0

对不起,我想你想阅读邮件时收到设备上,并阅读消息文本,如果它是“哪里是我的DROID”,那么你想开始你的活动正确 ? –

+1

解决了吗?如果不是,那么告诉我,我会帮助你在这个问题上更多。谢谢\ –

相关问题