0

我正在尝试在显然使用 Android API 的 OSGI Bundle 中显示 Toast 消息。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;



    }

}

我怎样才能做到这一点?我知道开始一项活动的唯一方法是当你在像这里这样的另一个活动中时,这不是我的情况。有人可以帮忙吗?谢谢你。

4

1 回答 1

1

我想我的话题会给你一个回应,即使不完美。您还可以查看 FelixDroid,它使用了在其他项目中看到的不同方法。但是,我渴望更好的解决方案。去看看我是否能找到或写一个 ContextWrapper 来满足这个要求。

对 OSGi 捆绑包的完整 Android 支持

于 2013-09-06T08:35:10.527 回答