在android studio中启动avd后,系统ui没有响应消息出现在android模拟器中。那么,我该如何解决?
我创建了一个监控呼叫(传入和传出)的应用程序,在电话振铃期间,它会显示有关该号码的详细信息. 来电中的一切都很好,但是当用户拨打电话时,应用程序会因此错误而崩溃:
05-14 23:14:36.376 1427-1475/? W/BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.PHONE_STATE flg=0x10 (has extras) } to ir.apptune.antispam/.CallReceiver requires android.permission.READ_PRIVILEGED_PHONE_STATE due to sender android (uid 1000)
Run Code Online (Sandbox Code Playgroud)
这是我使用的sdk版本的详细信息:
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
Run Code Online (Sandbox Code Playgroud)
我授予的权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.CALL_PHONE" />
Run Code Online (Sandbox Code Playgroud)
如果授予权限,我也检查了运行时.它返回0表示是.但仍然是同样的错误.还请考虑清单中的广播接收者声明:
<receiver
android:name=".CallReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
我正在尝试使用 Paging 库制作字典应用程序。当用户写任何字母时,我将调用 API 并获取包括该字母在内的所有单词。
问题是,当我通过init{}ViewHolder 方法中的 Paging 库调用 API 时,它运行良好。但在那之后,当我尝试编写其他内容并获取相关数据时,分页库甚至不会调用 API。我到处都放了断点,看到第一次之后,create()DataSource.Factory的方法没有被调用。
这是我的代码:
我的活动:
viewModel = ViewModelProviders.of(this).get(DictionaryViewModel::class.java)
val adapter = DictionaryRecyclerPagedAdapter()
recycler.layoutManager = LinearLayoutManager(this, RecyclerView.VERTICAL, false)
recycler.setHasFixedSize(true)
recycler.adapter = adapter
RxTextView.textChanges(edtWord)
.filter { it.isNotBlank() }
.subscribe({
adapter.submitList(null)
viewModel.getWord(it.toString())
Logger.d(it)
}, {
Logger.d(it)
})
viewModel.itemPagedList?.observe(this, Observer {
adapter.submitList(it)
})
Run Code Online (Sandbox Code Playgroud)
我的视图模型:
var liveDataSource: LiveData<PageKeyedDataSource<Int, DictionaryResult>>? = null
var itemPagedList: LiveData<PagedList<DictionaryResult>>? = null
init {
getWord("pouya")
}
fun getWord(term: String) {
val dataSourceFactory = DictionaryDataFactory(term)
liveDataSource = dataSourceFactory.liveData
val …Run Code Online (Sandbox Code Playgroud)