本文所谓的插件,即是没有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);
}