您的位置:首页 > 移动开发 > Android开发

Android静态注册内部类广播BroadcastReceiver

2016-09-19 10:35 357 查看
用静态注册内部类广播出现异常

[plain]
view plain
copy

09-14 11:31:25.576: E/AndroidRuntime(3391):   
  
FATAL EXCEPTION: main  
09-14 11:31:25.576: E/AndroidRuntime  
  
(3391): java.lang.RuntimeException: Unable to instantiate   
  
receiver com.jtd.service.Service$InsideService:   
  
java.lang.InstantiationException: can't instantiate class   
  
com.jtd.service.Service$InsideService; no empty   
  
constructor  

将内部类改成static class

[java]
view plain
copy

public class Service {  
   
  
   public static class InsideService extends BroadcastReceiver {  
  
    @Override  
    public void onReceive(Context context, Intent intent) {  
        Log.e("Service", "..onReceive..0914");  
  
    }   
    }  
}  

在AndroidManifest.xml中定义

[html]
view plain
copy

<receiver android:name="com.jtd.service.Service$InsideService" >  
        <intent-filter>  
                <action android:name="com.jtd.service.Service.InsideService" />  
        </intent-filter>  
</receiver>  

内部类加入$符号

顶0踩0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: