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)