没有找到处理意图的活动?

2024-03-27

我正在编写一个程序,当特定的短信到达手机时,应调用应用程序中的主要活动。我已经注册了一个BroadcastReceiver调用该活动的意图是onReceive()方法。问题是,每次我发送这条特定的短信时,我都会收到强制关闭消息。阅读 logcat,我看到以下 NullPoint 异常:

10- 20 02:07:16.558: E/AndroidRuntime(1200): java.lang.RuntimeException: Unable to    start receiver edu.example.prankssms3.SMSReceiverActivity3: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=edu.example.prankssms3.action.STARTMUSIC flg=0x10000000 }

但就我而言,一切都做对了。有人可以告诉我问题出在哪里吗?先感谢您。

这是清单文件:

<activity
        android:name=".MainActivity3"
        android:label="@string/title_activity_main_activity3" >
        <intent-filter>                
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="edu.example.prankssms3.action.STARTMUSIC" />
        </intent-filter>
    </activity>

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

这是广播接收器

public void onReceive(Context context, Intent intent) {
        // get the message passed in
        Bundle bdl = intent.getExtras();
        SmsMessage[] msgs = null;
        String str = "";
        if(bdl != null){
            // retrieve the sms message received
            Object[] pdus = (Object[]) bdl.get("pdus");         
            msgs = new SmsMessage[pdus.length];
            for(int i=0; i<msgs.length; i++) {
                msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
                str += msgs[i].getMessageBody().toString();
            }
            if(str.equals("FIRE_THE_MISSILES")){
                // The pranking comes here
                // start the activity to play the music and send sms    message
                Intent launchActivity = new Intent();
                launchActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                launchActivity.setAction("edu.example.prankssms3.action.STARTMUSIC");
                context.startActivity(launchActivity);
            }
        }
    }

这是主类,也是意图调用的类:

public class MainActivity3 extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main3, menu);
        return true;
    }
}

尝试改变你的<intent-filter>像这样:

<intent-filter>
    <action android:name="edu.example.prankssms3.action.STARTMUSIC" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

没有找到处理意图的活动? 的相关文章

随机推荐

  • 访问 TeamCity 构建评论

    继续回答这个问题 是否可以向团队城市构建添加自由文本注释 https stackoverflow com questions 4780955 is it possible to add a free text note to a team
  • 如何在 Swift 中实现线程安全哈希表(PhoneBook)数据结构?

    我正在尝试实现一个线程安全的 PhoneBook 对象 电话簿应该能够添加一个人 并根据姓名和电话号码查找一个人 从实现的角度来看 这仅涉及两个哈希表 一个关联名称 gt 人员 另一个关联电话 gt 人员 需要注意的是我希望这个对象是线程安
  • 构造函数应该接受参数还是应该创建 setter?

    我有两个选择 要么创建一个在其构造函数中接受大量参数的类 要么创建大量 setter 方法和 init 方法 我不确定哪个是首选选项 构造函数中是否应该接受某些参数 而其他参数可以通过 setter 手动设置 还是我想太多了 这是一个相关的
  • 是否可以在 iOS 模拟器中禁用网络?

    我正在尝试调试在从互联网获取主要数据的应用程序中看到的一些不一致的行为 我在模拟器中没有看到问题 只是在设备上看到问题 因此我想在模拟器中重现网络和连接环境 有没有办法在模拟器中禁用网络 我正在远程连接到 Mac 进行编码 现在没有任何其他
  • Xamarin 表单:图像未以完美圆形显示

    我已经发布了有关此问题的问题 但从未得到任何解决方案 因此 发布相同的问题并提供更多详细信息和发现 对于圆形图像 我在项目中使用 Xam Plugins Forms ImageCircle nuget 包 它在 android 和 wind
  • 如何拯救 OmniAuth::Strategies::OAuth2::CallbackError?

    我正在构建一个 Rails 应用程序Omniauth https github com intridea omniauth用于登录服务 为了验证我正在使用的 GoogleOmniAuth Google OAuth2 策略 https git
  • 如何设置 Kibana SSO(通过 OAuth)? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我的公司非常努力地为所有第三方服务保留 SSO 我想让 Kibana 与我们的 Google Apps 帐户一起使用 那可能吗 如何
  • 在 YML 中为 jpa 设置 hibernate 方言

    我尝试在 YML 中为 jpa 设置 hibernate 方言 检查了很多主题 但没有设置 spring datasource hikari allow pool suspension true connection timeout 100
  • 如何枚举实现通用接口的所有项目?

    我有两个接口 一个通用接口和一个非通用接口 它们具有继承层次结构 public interface IGenericRelation
  • Python pandas 将数据融合到多个列和另一列中的列名称

    我有一个数据框 我想将数据融合到多个目标列中 我使用的下面的代码 grp2 pd lreshape grp1 cols groupby cols str split str 1 sort values ACCT NAME 上面的行我丢失了列
  • 获取最近创建的 Pod 的名称

    在OpenShift中 是否有一种更优雅的方式来获取应用程序中最近创建的pod的名称my app比这个 name oc get pods l app my app o jsonpath range items status startTim
  • 是否有在 Spring 上下文 XML 文件中创建字符串常量的简写?

    我需要在 Spring 上下文 XML 文件中定义一个由多个 bean 共享的字符串值 我就是这样做的
  • 在数据注释的ErrorMessage属性中使用html

    任何人都知道是否可以执行以下操作 public class User public Guid UserID get set Required ErrorMessage A school selection is required Range
  • HTTP 状态代码 411 - 需要长度

    我尝试从服务器获取数据 我使用 NSURLConnectionDelegate NSURLConnectionDataDelegate 有代码 目标 C void sendRequest NSURL url NSURL alloc init
  • 如何获得 Mac 操作系统上的峰值内存?

    在 Windows 中 我可以通过调用 GetProcessMemoryInfo 获取峰值内存使用情况 function TProcess Peek Cardinal var PMC PPROCESS MEMORY COUNTERS PMC
  • 如何转义 NSString 以在 NSURL 中使用? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 到目前为止我的发送按钮得到了这个代码
  • 何时使用 ko.utils.unwrapObservable?

    我使用 KnockoutJS 编写了一些自定义绑定 我仍然不确定何时使用ko utils unwrapObservable item 查看代码 该调用基本上检查是否item是一个可观察的 如果是 则返回value 如果不是 则返回value
  • 如何从asp.net中的复选框列表控件返回选定的项目

    我试图以字符串形式返回动态绑定的复选框列表控件中选定的项目 但没有成功 我希望有人能提供帮助 在我的代码隐藏文件中 我连接到一个名为 users 的类并构建一个数据表 然后我将数据表绑定到 cblist 控件 private void po
  • Bootstrap 模式:背景在切换时跳到顶部

    我有一个模态问题 我在页面上有一个按钮 可以切换模式 当模式出现时 页面跳转到顶部 我已尽一切努力寻找解决方案 等等 但我真的迷失了 EDIT 我也尝试过 myModal modal show 但它具有完全相同的效果 当模态打开时modal
  • 没有找到处理意图的活动?

    我正在编写一个程序 当特定的短信到达手机时 应调用应用程序中的主要活动 我已经注册了一个BroadcastReceiver调用该活动的意图是onReceive 方法 问题是 每次我发送这条特定的短信时 我都会收到强制关闭消息 阅读 logc