private void startBundle(String bundle) {
Log.d(TAG, "starting bundle " + bundle);
bs = getAssets().open("bundles/" + bundle);
} catch (IOException e) {
Log.e(TAG, e.toString());
Bundle[] bl = mFramework.getBundleContext().getBundles();
for (int i = 0; bl != null && i < bl.length; i++) {
if (bundle.equals(bl[i].getLocation())) {
bid = bl[i].getBundleId();
Bundle b = mFramework.getBundleContext().getBundle(bid);
Log.e(TAG, "can't start bundle " + bundle);
b.start(Bundle.START_ACTIVATION_POLICY);
Log.d(TAG, "bundle " + b.getSymbolicName() + "/" + b.getBundleId() + "/"
} catch (BundleException be) {
Log.e(TAG, be.toString());
} catch (IOException e) {
Log.e(TAG, e.toString());
private void installBundle(String bundle) {
Log.d(TAG, "installing bundle " + bundle);
bs = getAssets().open("bundles/" + bundle);
} catch (IOException e) {
Log.e(TAG, e.toString());
mFramework.getBundleContext().installBundle(bundle, bs);
Log.d(TAG, "bundle " + bundle + " installed");
} catch (BundleException be) {
Log.e(TAG, be.toString());
} catch (IOException e) {
Log.e(TAG, e.toString());
private void setStartLevel(int startLevel) {
ServiceReference sr = mFramework.getBundleContext()
.getServiceReference(StartLevel.class.getName());
(StartLevel)mFramework.getBundleContext().getService(sr);
ss.setStartLevel(startLevel);
mFramework.getBundleContext().ungetService(sr);
Log.e(TAG, "No start level service " + startLevel);
private void setInitlevel(int level) {
ServiceReference sr = mFramework.getBundleContext()
.getServiceReference(StartLevel.class.getName());
(StartLevel)mFramework.getBundleContext().getService(sr);
ss.setInitialBundleStartLevel(level);
mFramework.getBundleContext().ungetService(sr);
Log.d(TAG, "initlevel " + level + " set");
Log.e(TAG, "No start level service " + level);