OPhone 中文 API - HomeIntents
oms.home
类 HomeIntents
java.lang.Object
public class HomeIntents
extends java.lang.Object
OPhone主屏类是OPhone平台的主屏程序。这个类定义了一些常量使用于主屏程序接口。如果你想要添加或改变主屏的某一元素,你可以发送一些意图到主屏程序,主屏收到后就会处理这些动作。
例如,飞信正在后台运行,当有新信息的时候,飞信可以发送一个意图到主屏,这样可以添加标志到飞信的快捷图标。
这是怎么添加标志到飞信快捷图标的示例代码:
// 为主屏程序创建意图
Intent symblIntent = new Intent(HomeIntents.ACTION_SHORTCUT_SYMBOL);
// 如果你想添加标志到飞信的快捷图标,你需要
// 获取到飞信的启动意图
Intent mIntent = getFetionLauncherIntent();
// 设置symblIntent 的意图参数
symblIntent.putExtra(HomeIntents.SHORTCUT_SYMBOL_INTENT, mIntent);
// 创建位图
Bitmap bg = BitmapFactory.decodeResource(getResources(),
R.drawable.shortcut_msgcount);
Bitmap symbol = Bitmap.createBitmap(bg.getWidth(), bg.getHeight(),
bg.getConfig());
Canvas canvas = new Canvas(symbol);
TextPaint textPaint = new TextPaint();
canvas.drawBitmap(bg, 0, 0, null);
canvas.drawText(Integer.toString(mUnreadMessageCount), bg.getWidth() / 2, 14, textPaint);
// 设置意图的位图数据(标志)
symblIntent.putExtra(HomeIntents.SHORTCUT_SYMBOL_BITMAP, symbol);
// 设置标志的位置
symblIntent.putExtra(HomeIntents.SHORTCUT_SYMBOL_POSITION, HomeIntents.SYM_TOP);
// 广播意图,主屏程序会处理这个意图
sendBroadcast(symblIntent);
... ...
如果主屏完成了某些动作,比如添加快捷方式到屏幕,主屏将会广播意图到所有BroadcastReceiver (广播接收者)。
例如:如果你想在主屏完成一些操作后执行一些动作,你需要注册一个处理主屏程序意图的广播接收器。
示例代码:
1. 创建广播接收者
BroadcastReceiver mHomeIntentReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (HomeIntents.ACTION_LOAD_COMPLETE.equals(action)) {
// 主屏载入完成,处理代码
...
} else if (HomeIntents.ACTION_ITEM_ADDED.equals(action)) {
// 添加元素完成,处理代码
...
}
}
};
2. 在 Activity 的onCreate 方法中注册接收器
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
IntentFilter filter = new IntentFilter();
filter.addAction(HomeIntents.ACTION_ITEM_ADDED);
filter.addAction(HomeIntents.ACTION_LOAD_COMPLETE);
registerReceiver(mHomeIntentReceiver, filter);
...
}
static java.lang.String |
ACTION_CREATE_ITEM |
static java.lang.String |
ACTION_INSTALL_ITEM |
static java.lang.String |
ACTION_ITEM_ADDED |
static java.lang.String |
ACTION_LOAD_COMPLETE |
static java.lang.String |
ACTION_SHORTCUT_SYMBOL |
static java.lang.String |
EXTRA_ITEM_LAUNCH_INTENT |
static java.lang.String |
SHORTCUT_SYMBOL_BITMAP |
static java.lang.String |
SHORTCUT_SYMBOL_INTENT |
static java.lang.String |
SHORTCUT_SYMBOL_POSITION |
static int |
SYM_BOTTOM |
static int |
SYM_BOTTOM_LEFT |
static int |
SYM_BOTTOM_RIGHT |
static int |
SYM_CENTER |
static int |
SYM_LEFT |
static int |
SYM_RIGHT |
static int |
SYM_TOP |
static int |
SYM_TOP_LEFT |
static int |
SYM_TOP_RIGHT |
public static final java.lang.String ACTION_LOAD_COMPLETE
当主屏载入完成时,它将广播ACTION_LOAD_COMPLETE 动作。
See Also:
public static final java.lang.String ACTION_CREATE_ITEM
当创建元素到主屏的时,它将广播ACTION_ITEM_ADDED动作意图。
See Also:
public static final java.lang.String ACTION_INSTALL_ITEM
如果你想安装快捷图标到主屏,你可以发送CTION_INSTALL_ITEM动作意图到主屏。注意:如你想移除从主屏快捷方式,你可以长时间按住快捷方式的图标,并选择’'delete' 图标直接删除。
See Also:
public static final java.lang.String ACTION_ITEM_ADDED
当创建元素到主屏的时候,它将广播ACTION_ITEM_ADDED动作意图。
See Also:
public static final java.lang.String ACTION_SHORTCUT_SYMBOL
ACTION_SHORTCUT_SYMBOL动作是在特定快捷图标上,添加一个附加图标的意图。 例如,如果某些程序的状态改变,你可以用ACTION_SHORTCUT_SYMBOL 动作意图添加图标在指定的快捷方式上。
See Also:
public static final java.lang.String SHORTCUT_SYMBOL_POSITION
如果你想要设置添加标志到程序的快捷方式,你需要设置图标的位置。值'SHORTCUT_SYMBOL_POSITION' 是设置位置常量,位置参数设置为SYM_CENTER, SYM_TOP 等。
See Also:
public static final int SYM_CENTER
中心位置。
See Also:
public static final int SYM_TOP
上方。.
See Also:
public static final int SYM_RIGHT
右方。
See Also:
public static final int SYM_BOTTOM
下方。
See Also:
public static final int SYM_LEFT
左方。
See Also:
public static final int SYM_TOP_LEFT
左上方。
See Also:
public static final int SYM_TOP_RIGHT
右上方。
See Also:
public static final int SYM_BOTTOM_RIGHT
右下方。
See Also:
public static final int SYM_BOTTOM_LEFT
左下方。
See Also:
public static final java.lang.String SHORTCUT_SYMBOL_BITMAP
当你添加标志到快捷图标时,你需要为意图设置位图数据。. SHORTCUT_SYMBOL_BITMAP 是设置位图数据的关键参数。
See Also:
public static final java.lang.String SHORTCUT_SYMBOL_INTENT
如果你想要添加标志到快捷方式,你需要设置这个参数。例如: Intent intentToHomeScreen = new Intent(HomeIntents.ACTION_SHORTCUT_SYMBOL); intentToHomeScreen.putExtra(HomeIntents.SHORTCUT_SYMBOL_INTENT, launchIntentOfShortcut);
See Also:
public static final java.lang.String EXTRA_ITEM_LAUNCH_INTENT
如果你想知道哪个元素添加了或移除掉,你需要为主屏注册一个广播接收器。然后设置这个参数。例如: Intent intent = broacastIntent.getParcelableExtra(HomeIntents.EXTRA_ITEM_LAUNCH_INTENT); 用这种方法,你可以获到快捷方式的启动意图。.
See Also: