应用到的知识点:广播 Receiver / Handler / 通知Notification
创建类:
MainActivity extends AppCompatActivity
MyService extends Service //服务
InstallAPKUtils //安装APK
SDCardHelper //SD卡类
页面定义一个下载按钮<Button />
MainActivity:
private Button button;//控件 private String apkName="hello.apk";//apk名字 private String apkPath="http://218.244.149.129:9010/download.php?apkid=13";//apk下载路径
private boolean isDownLoad =false; //初始化广播接受者 private MyReceiver receiver=new MyReceiver(); private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); button.setText("安装"); } };
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button= (Button) findViewById(R.id.button); //判断:下载的目录中,是否有该apk,有则显示"安装",没有显示"下载" byte[] data=SDCardHelper.getBytePublicDir(apkName); if(data!=null && data.length>0){ button.setText("安装"); }else { button.setText("下载"); isDownLoad=true; } //注册广播接受者