OPhone 中文 API - HomeIntents

oms.home
HomeIntents

java.lang.Object

  oms.home.HomeIntents


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);

            ...

        }

 


Field Summary

static java.lang.String

ACTION_CREATE_ITEM
         
当创建元素到主屏的时,它将广播ACTION_ITEM_ADDED动作意图。

static java.lang.String

ACTION_INSTALL_ITEM
       
如果你想安装快捷图标到主屏,你可以发送ACTION_INSTALL_ITEM动作意图到主屏。 

static java.lang.String

ACTION_ITEM_ADDED
        
当创建元素到主屏的时候,它将广播ACTION_ITEM_ADDED动作意图。

static java.lang.String

ACTION_LOAD_COMPLETE
        
当主屏载入完成时,它将广播ACTION_LOAD_COMPLETE 动作。

static java.lang.String

ACTION_SHORTCUT_SYMBOL
          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
         
右上方

ACTION_LOAD_COMPLETE

public static final java.lang.String ACTION_LOAD_COMPLETE

  当主屏载入完成时,它将广播ACTION_LOAD_COMPLETE 动作。

See Also:

Constant Field Values


ACTION_CREATE_ITEM

public static final java.lang.String ACTION_CREATE_ITEM

当创建元素到主屏的时,它将广播ACTION_ITEM_ADDED动作意图。

See Also:

Constant Field Values


ACTION_INSTALL_ITEM

public static final java.lang.String ACTION_INSTALL_ITEM

如果你想安装快捷图标到主屏,你可以发送CTION_INSTALL_ITEM动作意图到主屏。注意:如你想移除从主屏快捷方式,你可以长时间按住快捷方式的图标,并选择'delete'  图标直接删除。

See Also:

Constant Field Values


ACTION_ITEM_ADDED

public static final java.lang.String ACTION_ITEM_ADDED

当创建元素到主屏的时候,它将广播ACTION_ITEM_ADDED动作意图。

See Also:

Constant Field Values


ACTION_SHORTCUT_SYMBOL

public static final java.lang.String ACTION_SHORTCUT_SYMBOL

  ACTION_SHORTCUT_SYMBOL动作是在特定快捷图标上,添加一个附加图标的意图。 例如,如果某些程序的状态改变,你可以用ACTION_SHORTCUT_SYMBOL 动作意图添加图标在指定的快捷方式上。

See Also:

Constant Field Values


SHORTCUT_SYMBOL_POSITION

public static final java.lang.String SHORTCUT_SYMBOL_POSITION

如果你想要设置添加标志到程序的快捷方式,你需要设置图标的位置。值'SHORTCUT_SYMBOL_POSITION'  是设置位置常量,位置参数设置为SYM_CENTER, SYM_TOP 等。

See Also:

Constant Field Values


SYM_CENTER

public static final int SYM_CENTER

中心位置。

See Also:

Constant Field Values


SYM_TOP

public static final int SYM_TOP

上方。.

See Also:

Constant Field Values


SYM_RIGHT

public static final int SYM_RIGHT

右方。

See Also:

Constant Field Values


SYM_BOTTOM

public static final int SYM_BOTTOM

下方。

See Also:

Constant Field Values


SYM_LEFT

public static final int SYM_LEFT

左方。

See Also:

Constant Field Values


SYM_TOP_LEFT

public static final int SYM_TOP_LEFT

左上方。

See Also:

Constant Field Values


SYM_TOP_RIGHT

public static final int SYM_TOP_RIGHT

右上方。

See Also:

Constant Field Values


SYM_BOTTOM_RIGHT

public static final int SYM_BOTTOM_RIGHT

右下方。

See Also:

Constant Field Values


SYM_BOTTOM_LEFT

public static final int SYM_BOTTOM_LEFT

左下方。

See Also:

Constant Field Values


SHORTCUT_SYMBOL_BITMAP

public static final java.lang.String SHORTCUT_SYMBOL_BITMAP

当你添加标志到快捷图标时,你需要为意图设置位图数据。. SHORTCUT_SYMBOL_BITMAP 是设置位图数据的关键参数。

See Also:

Constant Field Values


SHORTCUT_SYMBOL_INTENT

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:

Constant Field Values


EXTRA_ITEM_LAUNCH_INTENT

public static final java.lang.String EXTRA_ITEM_LAUNCH_INTENT

 如果你想知道哪个元素添加了或移除掉,你需要为主屏注册一个广播接收器。然后设置这个参数。例如: Intent intent = broacastIntent.getParcelableExtra(HomeIntents.EXTRA_ITEM_LAUNCH_INTENT); 用这种方法,你可以获到快捷方式的启动意图。.

See Also:

Constant Field Values

posted @ 2009-08-12 18:59  大頭  阅读(733)  评论(1编辑  收藏  举报