【问题标题】:cannot call an activity from broadcastreceiver无法从广播接收器调用活动
【发布时间】:2014-12-06 17:21:05
【问题描述】:

我尝试从广播接收器调用我的主要活动

使用此代码:

        Intent i = new Intent();
        i.setClassName(MainActivity.class.getPackage().toString(),
                MainActivity.class.getName().toString());
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);

我得到这个错误:

12-06 19:17:19.776:E/AndroidRuntime(29271):原因:android.content.ActivityNotFoundException:找不到显式活动类 {package com.example.dowantcall/com.example.dowantcall.MainActivity} ;您是否在 AndroidManifest.xml 中声明了此活动?

带有清单声明:

<activity
    android:name="com.example.dowantcall.MainActivity" 
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
   <!--  android:theme="@style/Theme.Transparent"> -->
    <intent-filter>

    </intent-filter>
</activity>

编辑

顺便说一句,我试过了:

    Intent i = new Intent();
    i.setClassName(MainActivity.class.getPackage().toString(),
            "MainActivity");
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);

得到了同样的错误:

12-06 19:17:19.776:E/AndroidRuntime(29271):原因:android.content.ActivityNotFoundException:无法找到显式活动类 {package com.example.dowantcall/MainActivity};您是否在 AndroidManifest.xml 中声明了此活动?

我错过了什么?

【问题讨论】:

    标签: java android android-intent android-activity broadcastreceiver


    【解决方案1】:

    试试这个

    Intent i = new Intent(context, MainActivity.class);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
    

    【讨论】:

    • 查看日志 - {package com.example.dowantcall/com.example.dowantcall.MainActivity};
    • 你正在设置完整的包,然后类名也有完整的包名。
    • 不,我只尝试了类名,它也不起作用。
    • 你试过我上面贴的sn-p了吗?
    【解决方案2】:

    试试这个。

        Intent i = new Intent(context,MainActivity.class);
    
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    
        context.startActivity(i);
    

    【讨论】:

    • package 参数是指清单中的package 值,用于标识系统中的应用。 Class.getPackage() 返回类所在的实际包。您需要第一个值来告诉系统“我正在通过此应用程序的名称启动此意图。”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多