我在应用程序中有一个报警功能,我正在使用 setFullScreenIntent
解锁手机和显示警报时,通知火灾。我想在弹出通知时发出一些事件来响应本机层,然后启动mainactivity,所以我使用resultactivity作为目的。然而,当通知弹出,我听到警报,但它只显示一个空白的背景屏幕,而不是应用程序。但是,如果我锁定手机,它会立即解锁并显示应用程序。
我的问题是我是否要启动 MainActivity
正确地从 ResultActivity
? 这是实现行为的正确方法吗?
建筑物通知
Intent notificationIntent = new Intent(context, ResultActivity.class);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(context, notificationID, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder notification = new NotificationCompat.Builder(context, channelID)
// ...add notification stuff...
.setFullScreenIntent(pendingIntent, true);
结果性.kt
class DoseAlarm : ReactActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Do some things before launching app, like emitting an event to React Native
val mainActivityIntent = Intent(applicationContext, getMainActivityClass())
startActivity(mainActivityIntent)
}
}
getmainactivityclass()
fun getMainActivityClass(): Class<*>? {
val packageName = this.getPackageName()
val launchIntent = this.getPackageManager().getLaunchIntentForPackage(packageName)
val className = launchIntent!!.getComponent()!!.getClassName()
try {
return Class.forName(className)
} catch (e: ClassNotFoundException) {
Log.e(TAG, "Class $className not found")
e.printStackTrace()
return null
}
}
androidmanifest.xml文件
<activity
android:name".ResultActivity">
</activity>
...
<activity
android:name=".MainActivity"
android:label="@string/app_name"
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
暂无答案!
目前还没有任何答案,快来回答吧!