IAM试图获取具有包名的正在运行的进程的pid,IAM在android studio中使用C代码。当我在模拟器上返回pid时,代码为我提供了没有问题的真实pid 但是,当我在9.0设备上尝试时,结果iam getiing -1,我不知道问题出在哪里?
articleListener = object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
data = mutableListOf()
for (article in dataSnapshot.children) {
val articleData = article.getValue(Article::class.java)
articleData?.id = article.key
data.indexOfFirst { art -> art.id == article.key }.let {
//if ID exists then overrides else add
if (it != -1) {
articleData?.let { it1 -> data[it] = it1 }
} else
articleData?.let { it1 -> data.add(it1) }
}
}
}
override fun onCancelled(databaseError: DatabaseError) {
// Getting Post failed, log a message
Log.w("TAG", "loadPost:onCancelled", databaseError.toException())
}
}
firebaseDatabase = try {
FirebaseDatabase.getInstance().apply { setPersistenceEnabled(true) }
} catch (e: Exception) {
Log.w("Warn", e.toString())
FirebaseDatabase.getInstance()
}
// I changed the container from articles to release_articles
databaseReference = firebaseDatabase.reference.child("release_articles")
databaseReference.orderByChild("date/time").startAt(getTodayInMillis().toDouble())
.addValueEventListener(articleListener)
我还在启动应用程序时按Java授予了root权限