これを試すたびにNullPointerExceptionが発生します-
getCallingActivity().getClassName()
caller/parent
アクティビティからアクティビティの名前を取得したいcalled/child
。
これを試すたびにNullPointerExceptionが発生します-
getCallingActivity().getClassName()
caller/parent
アクティビティからアクティビティの名前を取得したいcalled/child
。
ドキュメントをチェックするgetCallingActivity
と、呼び出し元のアクティビティが結果を期待している場合、つまりアクティビティが呼び出しで開始された場合にのみ、値が返されます startActivityForResult
したがって、ほとんどの場合、これは機能しません。より良いアプローチは、意図を介して値を渡すことです。この投稿をチェック
通話アクティビティが予想よりも早く終了する可能性があります。これは私に起こり、呼び出し元のアクティビティが startActivityForResult を使用していたにもかかわらず、getCallingActivity から null が返されました。
呼び出し元と呼び出されたアクティビティは 1 つのタスク内にある必要があります。つまり、呼び出されたアクティビティを Intent.FLAG_ACTIVITY_NEW_TASK などのフラグで開始することはできません。