当两次单击倒计时时,我希望它打开全屏活动。
countDownTimer.setOnClickListener(object : DoubleClickListener() {
override fun onDoubleClick(v: View?) {
Toast.makeText(applicationContext,"Full Screen Mode!",Toast.LENGTH_SHORT).show()
val screenFull = Intent(this, FullScreen::class.java) //The Intent on this line is presenting an error
startActivity(screenFull)
}
})
} //This bracket is from OnCreate
abstract class DoubleClickListener : View.OnClickListener {
var lastClickTime: Long = 0
override fun onClick(v: View?) {
val clickTime = System.currentTimeMillis()
if (clickTime - lastClickTime < DOUBLE_CLICK_TIME_DELTA) {
onDoubleClick(v)
}
lastClickTime = clickTime
}
abstract fun onDoubleClick(v: View?)
companion object {
private const val DOUBLE_CLICK_TIME_DELTA: Long = 300 //milliseconds
}
}
上面的代码在编译代码时会出现以下错误。
使用提供的参数无法调用以下函数:public constructor Intent(p0:Context!,p1:Class
我怎样才能解决这个问题?谢谢
这意味着您传入的参数,this和Class,与任何构造函数都不匹配。这是因为此指的是您的双击监听器对象,而不是活动(或您想要传递的上下文)
如果您删除了此的一部分并开始重新键入它,它应该会为您提供从该范围中可以看到的外部对象的自动完成选项<代码>this@MyActivity或者任何你想要的东西。
另外,如果您不知道的话,有一个类可以设置双击侦听器。以下是如何添加空实现,以便只需覆盖要侦听的回调:https://developer.android.com/training/gestures/detector#detect-支持手势的子集
更换此线路
val screenFull=Intent(这是全屏::class.java)
使用:
val screenFull=意图(this@YourActivityName,全屏::类。java)
这将解决您的问题。
我已经尝试了所有的方法,但它不适合我。我想打开或恢复应用程序,无论屏幕打开,同时单击通知。 我使用了以下方法:
我正在工作的应用程序中,我被要求显示通知。对于通知,我使用的是FireBase云消息(FCM)。我能够得到通知,当应用程序在后台。 2.)MyFirebaseInstanceIDService 这是我在MyFirebaseMessagingService类中为onMessageReceived()方法编写的代码示例。
我还发现:
我有一个带有通知的应用程序,如果我单击它们,就会打开某个活动。我想要的是,如果我点击通知,活动已经打开,它不是重新开始,但只是出现在前面。 我可以用标志来管理它吗?还是我应该在SharedPreferences中存储一个变量来检查它是否已打开? 谢谢!
--lesson.java --list_item.xml
我看到了一个Firebase控制台的代码:如何为通知指定click_action,我使用了该通知,但在初始化变量CLS时出现了一个错误。我试图通过定义CLS=NULL来解析,以清除错误。它无法使用click_action打开我指定的活动 拜托,我有没有搞错什么?我怎么才能让它起作用?