0

これを Android API リファレンスからコピーしました。

public Intent (Context packageContext, Class<?> cls)

clsこのコンストラクターの場合、パラメーターの要件は何か知りたいです。Activityこれは通常、 orを拡張するクラスである可能性があることは知っていますが、クラスServiceの特定の要件が何であるかはわかりません。たとえば、クラスは何らかのクラスを拡張する必要があるか、このクラスには do() 関数が必要です。

4

1 に答える 1

0

Intentそれは、それを構築した後に何をするかによって異なります。

への呼び出しで使用する場合、startActivity()またはstartActivityForResult()クラスが継承する必要があり、マニフェストのタグでActivity宣言する必要があります。<activity>

への呼び出しで使用する場合startService()stopService()またはbindService()クラスがから継承する必要があり、マニフェストのタグでService宣言する必要があります。<service>

への呼び出しまたは他の同様の呼び出しで使用する場合sendBroadcast()、クラスは継承する必要があり、マニフェストのタグでBroadcastReceiver宣言する必要があります。<receiver>

ただし、 2 番目のパラメーターとして任意のクラスをIntent使用して渡すことを妨げるものは何もありません。new Intent(context, class)コンパイラはこれをチェックせず、ランタイムもIntent構築時にチェックしません。

于 2013-08-30T08:38:11.807 に答える