iapp代码 发送端

  1. //iyu->mjava 调用链
  2. //mian.iyu
  3. call(null,"mjava","test.send")
  1. //mjava:test.mjava
  2. import android.app.Application;
  3. import android.content.Intent;
  4. public void send()
  5. {
  6. Intent intent = new Intent();
  7. intent.setAction("test");//注意这里的action参数要和接收端一致
  8. intent.putExtra("key","value");
  9. Application app = activity.getApplication();
  10. app.sendBroadcast(intent);
  11. }

AIDE/Java 接受端

静态注册广播接收器:AndroidManifest.xml

  1. <application>
  2. <!--是否接受其他app的广播-->
  3. <!--自定义广播接收器的类名称,此处需要创建一个单独的Receiver类-->
  4. <receiver
  5. android:exported="true"
  6. android:name=".Receiver"
  7. android:enabled="true">
  8. <intent-filter>
  9. <action android:name="test"></action>
  10. </intent-filter>
  11. </receiver>
  12. </application>
  1. //接收端
  2. public class Receiver extends BroadcastReceiver
  3. {
  4. @Override
  5. public void onReceiver(Context p1,Intent p2)
  6. {
  7. Bundle extras = p2.getExtras();
  8. if(extras == null)
  9. {
  10. //没有附加数据
  11. }
  12. else
  13. {
  14. //根据key取出数据
  15. String result = extras.getString("key");
  16. //根据result进行处理
  17. }
  18. }
  19. }

Unable to instantiate receiver报错的问题

出现这个问题的原因是,我是以内部类定义的MyReceiver类,需要声明为static:image.png
这是AndroidManifest.xml中的注册配置:
image.png