本文所谓的插件,即是没有Activity,没有图标入口,靠广播触发的程序。
在Android Studio中,若一个程序没有Activity,默认无法执行,可直接通过如下方式:Build(Rebuild Project)–>Build(Build APK)来生成APK文件,或者如下图所示设置即可运行:
本例如下:
BroadCast注册(“android.intent.action.MY_BROADCAST”为自定义的广播 ):
<receiver android:name=".GetBroad">
<intent-filter>
<action android:name="android.intent.action.MY_BROADCAST"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
BroadCastReceiver处理:
public class GetBroad extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//接收到广播后的处理
}
}
至此,该程序完成,安装即可。
另:由于Android安装的程序若从未运行过,无法接收到广播,参考如下
解决方法为:在发送广播时添加Flag(FLAG_INCLUDE_STOPPED_PACKAGES),代码如下:
public void sendConnChange(View view){
Intent intent = new Intent("android.net.conn.CONNECTIVITY_CHANGE");
intent.setFlags(FLAG_INCLUDE_STOPPED_PACKAGES);//添加该Flag
sendBroadcast(intent);
}
本文介绍了一种特殊的Android应用程序开发方式——无界面插件。这种插件没有Activity和图标入口,而是通过广播触发运行。文章详细讲解了如何在Android Studio中创建这样的插件,并提供了广播接收器的具体实现代码。

174

被折叠的 条评论
为什么被折叠?



