如何从OSGI Bundle start方法启动Android Activity

时间:2013-08-15 22:23:53

标签: android android-activity osgi bundle toast

我正在尝试在OSGI Bundle中显示Toast消息,该消息明显使用Android API。 toast需要一个应用程序上下文,所以我想在我的bundle中创建一个活动。这是带有toast消息的活动类:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    Toast.makeText(this.getApplicationContext(), "This is OSGI Bundle", Toast.LENGTH_SHORT).show();

    }


}

现在我想从Bundle Activator类中的start()方法开始上面的活动。下面是那个类:

public class Activator implements BundleActivator {

    private static BundleContext context;

    static BundleContext getContext() {
        return context;
    }


    public void start(BundleContext bundleContext) throws Exception {
        Activator.context = bundleContext;

   //I WOULD LIKE TO START THE ACTIVITY HERE TO DISPLAY THE TOAST MESSAGE



    }


    public void stop(BundleContext bundleContext) throws Exception {
        Activator.context = null;



    }

}

我怎样才能实现这一目标?我知道开始活动的唯一方法是当你在here之类的另一个活动时,这不是我的情况。有人可以帮忙吗?谢谢。

1 个答案:

答案 0 :(得分:1)

我认为即使不完美,我的话题也会对你做出回应。您也可以查看使用其他项目中看到的不同方法的FelixDroid。但是,我渴望更好的解决方案。去看看我是否能找到或写一个能填补账单的ContextWrapper。

Full Android support for OSGi bundles