Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android广播许可_Android_Kotlin_Permissions_Broadcastreceiver - Fatal编程技术网

android广播许可

android广播许可,android,kotlin,permissions,broadcastreceiver,Android,Kotlin,Permissions,Broadcastreceiver,java.lang.SecurityException:权限拒绝:不允许发送广播android.intent.action.DATE\u已从pid=3604、uid=10091更改 我犯了这样的错误 我搜索了一下,但找不到解决办法 请帮助……试试这个 您不能使用ACTION\u DATE\u CHANGED,因为这是一个私有的android操作,所以您需要创建自定义操作 var intent2 = Intent(requireActivity(), MyReceiver::class.java

java.lang.SecurityException:权限拒绝:不允许发送广播android.intent.action.DATE\u已从pid=3604、uid=10091更改

我犯了这样的错误 我搜索了一下,但找不到解决办法 请帮助……

试试这个

您不能使用
ACTION\u DATE\u CHANGED
,因为这是一个私有的android操作,所以您需要创建自定义操作

 var intent2 = Intent(requireActivity(), MyReceiver::class.java)
        intent2.putExtra("Test", "value")
        intent2.setAction(Intent.ACTION_DATE_CHANGED)





  override fun onReceive(context: Context, intent: Intent) {
            var st = intent.getStringExtra("Test")
        
            if (intent.action.equals(Intent.ACTION_DATE_CHANGED)) {
                var st = intent.getStringExtra("Test")
                var toast = Toast.makeText(context, st, Toast.LENGTH_LONG) //
                toast.show()
            }

}
当你打电话来分享你的信息时,请使用以下代码

private fun registerReceiver(){
        val filter = IntentFilter()
        filter.addAction(MyReceiver.RECEIVE_MESSAGE_ACTION)

        val customReceiver = MyReceiver()
        registerReceiver(customReceiver, filter)
    }

Intent.ACTION\u DATE\u CHANGED
是受保护的操作,只允许系统应用程序发送。那么我该怎么办?我刚开始,所以我不知道怎么做。
 <receiver
            android:name=".MyReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="${applicationId}.receiver.RECEIVE_MESSAGE_ACTION" />
            </intent-filter>
        </receiver>
private fun registerReceiver(){
        val filter = IntentFilter()
        filter.addAction(MyReceiver.RECEIVE_MESSAGE_ACTION)

        val customReceiver = MyReceiver()
        registerReceiver(customReceiver, filter)
    }
companion object {
        const val RECEIVE_MESSAGE_ACTION = "${BuildConfig.APPLICATION_ID}.receiver.RECEIVE_MESSAGE_ACTION"
    }

private fun callCustomBroadcast(message: String) {
        val intent = Intent(RECEIVE_MESSAGE_ACTION)
        intent.putExtra("mymessage", message)
        sendBroadcast(intent)
    }