我正在尝试在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之类的另一个活动时,这不是我的情况。有人可以帮忙吗?谢谢。
答案 0 :(得分:1)
我认为即使不完美,我的话题也会对你做出回应。您也可以查看使用其他项目中看到的不同方法的FelixDroid。但是,我渴望更好的解决方案。去看看我是否能找到或写一个能填补账单的ContextWrapper。