随播广告对象 – Android是否希望将其注册为活动(?)
我有一个活动
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.example.andrzejzuzak.visiondummyapp.DummyActivity $ Companion}; 你有没有在你的AndroidManifest.xml中声明这个活动? 在android.support.android.app.Activity.startActivityForResult(Activity.java:3930)上的android.app.Instrumentation.execStartActivity(Instrumentation.java:1512)上的android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1794)。在android.app.Activity.startActivityForResult(Activity.java:3890)上的android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)上的v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)在android.app.Activity.startActivity(Activity.java:4181)上的android.app.Activity.startActivity(Activity.java:4213)上的.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859) example.andrzejzuzak.visiondummyapp.MainActivity.onActivityResult(MainActivity.kt:85)at android.app.Activity.dispatchActivityResult(Activity.java:6456)at android.app.ActivityThread.deliverResults(ActivityThread.java:3695)at android.app .ActivityThread.handleSendResult(ActivityThread.java:3742 )在android.app.ActivityThread.-wrap16(ActivityThread.java)在android.app.ActivityThread $ h.handleMessage(ActivityThread.java:1393)在android.os.Handler.dispatchMessage(Handler.java:102)在android。 os.Looper.loop(Looper.java:148)at android.app.ActivityThread.main(ActivityThread.java:5417)at java.lang.reflect.Method.invoke(Native Method)
令我困扰的是这条线:
无法找到显式的活动类{com.example.andrzejzuzak.visiondummyapp / com.example.andrzejzuzak.visiondummyapp.DummyActivity $ Companion
这是否意味着我必须在某处注册Companion对象?
DummyActivity.javaClass
引用DummyActivity.Companion
而不是DummyActivity
。 其实这甚至是一个警告:
这个
javaClass
调用的结果类型是Class<Dummy.Companion>
而不是Class<Dummy>
。 请使用更清晰的::class.java
语法来避免混淆。
相反,你应该使用DummyActivity::class.java
,