できるActivity.getIntent()
null
を返しますか?Activity.getIntent()はnullを返すことはできますか?
ドキュメントにはこれが可能性として記載されていないので、逆参照する前にnull
値のgetIntent()
の結果をチェックする必要があるかどうかは疑問です。
できるActivity.getIntent()
null
を返しますか?Activity.getIntent()はnullを返すことはできますか?
ドキュメントにはこれが可能性として記載されていないので、逆参照する前にnull
値のgetIntent()
の結果をチェックする必要があるかどうかは疑問です。
はい、それ 、ことができるが、2つだけの場合には:
活性コンストラクタにおいて:内部attach
方法で設定
テント、Instrumentation
クラスから呼び出さ:
public Activity newActivity(Class<?> clazz, Context context,
IBinder token, Application application, Intent intent, ActivityInfo info,
CharSequence title, Activity parent, String id,
Object lastNonConfigurationInstance) throws InstantiationException,
IllegalAccessException {
Activity activity = (Activity)clazz.newInstance();
ActivityThread aThread = null;
activity.attach(context, aThread, this, token, 0, application, intent,
info, title, parent, id,
(Activity.NonConfigurationInstances)lastNonConfigurationInstance,
new Configuration(), null, null);
return activity;
}
したがって、インテントはコンストラクタで常にnullです。
setIntent(ヌル)後:
それはsetIntent()
と活動の外部から意図を変更することが可能です。
それ以外の場合はできません。
アプリケーションがメモリ内にある間に市場から更新され、更新後に再度起動された場合は、nullになることがあります。 場合によっては、スタジオまたは.apkファイルから手動で更新する場合も同様の効果があります。わかりません、申し訳ありません。
Google Devコンソールでアプリケーションを一度更新し、getIntent()を呼び出すと、クラッシュリテックスでいくつかの異なるNPEを取得しました。すべての画面で、getIntent()。getExtra()onCreateまたはそれ以降のlifeCycleを使用しました。
だから、醜いですが、クラッシュを避けるために、私はintIntentがnullの場合は、getIntentとほとんどの時間、NULL値をインテントでチェックする必要があります。しかし、あなたは他の論理、ofcをあなたのために作ることができます。
サンプルアプリでそれを証明できますか?私はそれを再現しようとしましたが、成功しませんでした。 – g4s8
「これは、「意図」が関与していない通常のライフサイクルで「アクティビティ」がトリガされることはありますか? – Armand
'getIntent'はnullを返しません。アクティビティを開始するために使用したオブジェクトです。 – Blackbelt
nullを返すことができますが、これは' Activity'でnullに設定した場合に限ります。 –