class DummyActivity : Activity() {
companion object {
@JvmStatic fun onNewIntent(context: Context): Intent {
val intent = Intent(context, DummyActivity.javaClass)
return intent
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
它在清單中聲明如下活動:
<activity android:name=".DummyActivity"/>
</application>
當我嘗試啓動它(?) ,我得到:
引起:android.content.ActivityNotFoundException:無法找到顯式活動類> {com.example.andrzejzuzak.visiondummyapp/com.e xample.andrzejzuzak.visiondummyapp.DummyActivity $伴侶};你有沒有在你的AndroidManifest.xml中聲明這個活動? 在android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1794) 在android.app.Instrumentation.execStartActivity(Instrumentation.java:1512) 在android.app.Activity.startActivityForResult(Activity.java:3930) 在android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79) at android.app.Activity.startActivityForResult(Activity。 java:3890) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859) at android.app.Activity.startActivity(Activity.java:4213) at android.app.Activity.startActivity(Activity.java:4181) at com.example.andrzejzuzak.visiondummyapp.MainActivity.onActivityResult(MainActivity.kt:85 ) 在android.app.Activity.dispatchActivityResult(Activity.java:6456) 在android.app.ActivityThread.deliverResults(ActivityThread.java:3695) 在android.app.ActivityThread.handleSendResult(ActivityThread.java:3742) at android.app.ActivityThread.-wrap16(ActivityThread.java) at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1393) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java .lang.reflect.Method.invoke(本機方法)
讓我困擾的是這行:
無法找到明確的活動類{com.example.andrzejzuzak.visiondummyapp/com。示例。 andrzejzuzak.visiondummyapp.DummyActivity $ Companion
這是否意味着我必須在某處註冊Companion對象?
你應該使用'意向(背景下,DummyActivity :: class.java)'代替 –
無關:活動已經有一個'onNewIntent'方法,也許你希望將你的工廠方法重新命名爲像createIntent這樣簡單易懂的東西。 (這不是回調,它不是以'開'開始。)保存你未來的自我一段時間。 –