android的意图有什么不同?

android的意图有什么不同?,android,android-intent,Android,Android Intent,用于startActivity()的意图与用于sendBroadcast()方法的意图有何不同?在一个教程中,我找到了一种动态注册广播接收器的方法。为此,我必须提供一个字符串作为我的目标名称。在这种情况下,如何选择意图名称并用于sendBroadcast()或registerReceiver() 我应该在我的android\u manifest.xml文件中添加一些内容吗?根据教程,我目前声明了一个意向名称,如下所示: private static final String SEARCH_ACT

用于
startActivity()
的意图与用于
sendBroadcast()方法的意图有何不同?在一个教程中,我找到了一种动态注册广播接收器的方法。为此,我必须提供一个字符串作为我的目标名称。在这种情况下,如何选择意图名称并用于
sendBroadcast()
registerReceiver()

我应该在我的
android\u manifest.xml
文件中添加一些内容吗?根据教程,我目前声明了一个意向名称,如下所示:

private static final String SEARCH_ACTION = "com.example.usingwebservices.rest.SEARCH";
@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    unregisterReceiver(receiver);
}
@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();

    registerReceiver(receiver, new IntentFilter(SEARCH_ACTION));
}
private BroadcastReceiver receiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        if(progress!=null){
            progress.dismiss();
        }
        String response = intent.getStringExtra(RestTask.HTTP_RESPONSE);
        result.setText(response);
    }
};

我认为你做得对。注册接收器有两种方法,如下所示:

在意图的构造中,参数是动作名称:

Intent(String action)
当使用startActivity时,我使用的结构是:

Intent(Context packageContext, Class<?> cls)
Intent(上下文包上下文,类cls)
您可以看到以下意图参考:


我认为Google希望包中的msg格式最多。

那么,对sendBroadcast()和registerReceiver()使用相同的操作名就足以完成广播接收过程了吗?或者我必须在其他地方注册此操作名称以获得许可或任何其他目的。是的,您可以。intent有两种方法:setAction和setClass。但我认为也许将两种类型的参数打包成一个意图并不是一个好主意,除非它们实际上是相同的东西。
Intent(String action)
Intent(Context packageContext, Class<?> cls)