package android.app;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.Handler;
/**
* 插件中的activity如果需要启动service,则应继承该activity,否则service启动失败
*
* @author zhaoÏxuyang
*
*/
public class PluginActivity extends Activity {
/**
* 对应的插件名称
*/
private String pluginName;
/**
* contentresolver
*/
private PluginContentResolver mContentResolver;
@Override
protected void onCreate(Bundle arg0) {
pluginName = getIntent().getStringExtra(PluginBlankActivity.PLUGIN_NAME);
super.onCreate(arg0);
}
@Override
public ComponentName startService(Intent service) {
return PluginManagerImpl.getInstance().startPluginService(service);
}
@Override
public boolean stopService(Intent name) {
return PluginManagerImpl.getInstance().stopPluginService(name);
}
@Override
public boolean bindService(Intent service, ServiceConnection conn, int flags) {
return PluginManagerImpl.getInstance().bindPluginService(service, conn, flags);
}
@Override
public void unbindService(ServiceConnection conn) {
PluginManagerImpl.getInstance().unbindPluginService(conn);
}
@Override
public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter) {
return PluginManagerImpl.getInstance().registerReceiver(this, pluginName, receiver, filter);
}
@Override
public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission,
Handler scheduler) {
return PluginManagerImpl.getInstance().registerReceiver(this, pluginName, receiver, filter,
broadcastPermission, scheduler);
}
@Override
public void unregisterReceiver(BroadcastReceiver receiver) {
PluginManagerImpl.getInstance().unregisterReceiver(this, pluginName, receiver);
}
@Override
public ContentResolver getContentResolver() {
if (mContentResolver == null) {
mContentResolver = new PluginContentResolver(this);
}
return mContentResolver;
}
}