问题描述
我正在尝试编写一个在设备启动时启动的服务。
java.lang.RuntimeException: Unable to start receiver packagename.BootReciever: android.content.ActivityNotFoundException: Unable to find explicit activity class {packagename/packagename.MainActivity$Companion}; have you declared this activity in your AndroidManifest.xml?
在我的清单中
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="packagename">
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.INJECT_EVENTS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.Translucent"
android:fullBackupContent="@xml/backup_descriptor">
<activity android:name="packagename.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name="packagename.RemoteService">
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</service>
<receiver android:name="packagename.BootReciever"
android:enabled="true"
android:exported="true">
<intent-filter android:directBootAware="true">
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="android.intent.action.REBOOT"/>
</intent-filter>
</receiver>
</application>
</manifest>
当我打开应用程序时,它运行良好,但是我想在启动完成后启动应用程序。我将它推入系统/应用程序,然后它就崩溃了。
override fun onReceive(p0: Context?,p1: Intent?) {
if(p1?.action.equals("android.intent.action.BOOT_COMPLETED")){
Log.e("Ahmet ","START PLSSSSSSSSSSSSS")
val startIntent = Intent(p0,MainActivity.javaClass)
startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
p0?.startActivity(startIntent)
}
}
}
主活动
class MainActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
appContext = applicationContext
ServiceModul.startServices(this)
finish()
}
companion object {
lateinit var appContext: Context
}
}
我签署了应用程序,它有权限,但是在启动时,它找不到 MainActivity。我检查包名称 3-4 次。我该怎么办?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)