如何从广播接收器开始意图?

时间:2012-10-19 00:08:30

标签: android android-intent

  1. 当我尝试通过广播接收方的意图启动活动时,会有一条崩溃消息。

  2. 如果我从广播中使用Toast,则会发生崩溃。我看到了tog msg然后崩溃, 之后我从android sms应用程序中获取了msg。

  3. 也许是上下文的问题?

    感谢。

    代码:

           public class SmsReceiver extends BroadcastReceiver 
        {
            public void onReceive( Context context, Intent intent ) 
        {   
            Bundle extras = intent.getExtras();      
                Intent i=new Intent(context,DisplayActivity.class);
                i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
                context.startActivity(i);
                Log.i("MESSSAGE", messages);
         }
        }
    
    
    XML:
    
        <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="org.secure.sms"
          android:versionCode="1"
          android:versionName="0.1" >
    
        <uses-sdk android:minSdkVersion="8" />
    
        <uses-permission android:name="android.permission.WRITE_SMS" />
        <uses-permission android:name="android.permission.READ_SMS" />
        <uses-permission android:name="android.permission.RECEIVE_SMS" />
    
        <application android:icon="@drawable/icon" 
                     android:label="@string/app_name" >
    
            <activity android:name=".SecureMessagesActivity"
                      android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    
            <receiver android:name=".SmsReceiver" android:exported="true" > 
                <intent-filter> 
                    <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                </intent-filter> 
            </receiver>
    
        </application>
    
    </manifest>
    

0 个答案:

没有答案