Jeb*_*bik 6 android inner-classes broadcastreceiver
我知道我可以做一个内部接收器类来调用接收器中的任何方法
但我的主要活动太大了,做了很多事情.所以我需要一个扩展广播接收器但不是内部类的类.并且可以从我的主要活动中调用一个方法.我不知道是否可能,但我的活动是家庭活动和"singleInstance"活动,所以也许有这个细节,有人可以访问我的活动.
如果不可能以任何方式在多个文件中分割一些java代码,那么我的主要代码超过600行.(并且为了获取信息,我已经为我的应用程序的alpha版本提供了19个java文件,因此我尝试将其拆分)
blg*_*101 18
动态创建BroadcastReceiver:
在您的BroadcastReceiver类中定义类成员:
YourMainActivity yourMain = null;
Run Code Online (Sandbox Code Playgroud)
和方法:
setMainActivityHandler(YourMainActivity main){
yourMain = main;
}
Run Code Online (Sandbox Code Playgroud)
从您的MainActivity执行:
private YourBroadcastReceiverClassName yourBR = null;
yourBR = new YourBroadcastReceiverClassName();
yourBR.setMainActivityHandler(this);
IntentFilter callInterceptorIntentFilter = new IntentFilter("android.intent.action.ANY_ACTION");
registerReceiver(yourBR, callInterceptorIntentFilter);
Run Code Online (Sandbox Code Playgroud)
最后,当你的BR.onReceive被解雇时你可以打电话:
yourMain.methodOfMainActivity();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10086 次 |
| 最近记录: |