我有一个root用户设备,我以编程方式下载并安装更新。安装时没有弹出用户,要求获得安装许可或显示安装过程中可能发生的任何错误。一切都在后台发生。以下是执行安装的SoftwareInstallActivity
。
public class SoftwareInstallActivity extends Activity{
private TextView titleView;
private ImageView loadingView;
private String fileName =null;
private static Logger log=Logger.getRootLogger();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alert_screen);
log.debug("Launching SoftwareInstall Activity");
fileName=getIntent().getExtras().getString("FileName");
if(fileName==null && fileName.length()==0){
log.debug("filename is null or of zero length");
return;
}
log.debug("Name of apk file"+fileName);
loadingView = (ImageView)findViewById(R.id.loading);
titleView = (TextView)findViewById(R.id.text1);
log.debug("Starting software Install");
titleView.setText("Installing Software Update");
try{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType( Uri.fromFile(new File(fileName)),
"application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}catch(Exception e){
e.printStackTrace();
}
}
@Override
public void onResume() {
super.onResume();
log.debug("On Resume Software Install activity.");
}
@Override
public void onPause(){
super.onPause();
log.debug("On Pause Software Install activity.");
}
}
我面临的问题是在我的试验中,软件安装失败甚至没有任何例外。这是非常罕见的情况,但我仍然想要处理它。那么有没有办法找出安装是否真的成功,即有没有办法找到下面给定的一组线的成功或失败?
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType( Uri.fromFile(new File(fileName)),
"application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
任何帮助将不胜感激。提前谢谢!