微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我正在尝试在Android Studio上使用Read Call Log,但它给出一个错误,提示没有这样的列:last_modified

如何解决我正在尝试在Android Studio上使用Read Call Log,但它给出一个错误,提示没有这样的列:last_modified

我正在尝试在Android Studio上使用Read Call Log,但它给出一个错误提示没有这样的列:last_modified我做错了什么?

MainActivity


override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //request for permission
        if(ActivityCompat.checkSelfPermission(this,Manifest.permission.READ_CALL_LOG) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this,Array(1) {
                Manifest.permission.READ_CALL_LOG
            },101)
        } else {
            displayLog()
        }
    }


    override fun onRequestPermissionsResult(
            requestCode: Int,permissions: Array<out String>,grantResults: IntArray
    ) {
        super.onRequestPermissionsResult(requestCode,permissions,grantResults)
        if(requestCode==100 && grantResults[0]==PackageManager.PERMISSION_GRANTED)
            displayLog()
    }

    @SuppressLint("MissingPermission")
    private fun displayLog() {

        var from = listof<String>(CallLog.Calls.NUMBER,CallLog.Calls.DURATION,CallLog.Calls.TYPE).toTypedArray()

        var result = contentResolver.query(CallLog.Calls.CONTENT_URI,cols,null,"${CallLog.Calls.LAST_MODIFIED} DESC")

        var to = intArrayOf(R.id.textViewName,R.id.textViewType,R.id.textViewDuration,R.id.textViewDate)

        var adapter = SimpleCursorAdapter(applicationContext,R.layout.call_log_layout,result,from,to,0)

        listView.adapter = adapter

    }

09-28 20:14:52.826 26822-26822 / com.example.myapplication E / AndroidRuntime:致命异常:main 流程:com.example.myapplication,PID:26822 java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.myapplication / com.example.myapplication.MainActivity}: android.database.sqlite.sqliteException:无此类列:last_modified (代码1):,编译时:SELECT _id,数字,类型,持续时间,日期 FROM调用WHERE(((((type!= 4))))ORDER BY last_modified DESC 在android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2594) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2685) 在android.app.ActivityThread.access $ 900(ActivityThread.java:188) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1530) 在android.os.Handler.dispatchMessage(Handler.java:111) 在android.os.Looper.loop(Looper.java:210) 在android.app.ActivityThread.main(ActivityThread.java:5839) 在java.lang.reflect.Method.invoke(本机方法) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1113) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:879) 原因:android.database.sqlite.sqliteException:否这样的列:last_modified(代码1):,而编译时:SELECT _id,number, 类型,持续时间,日期FROM调用WHERE(((((type!= 4))))ORDER BY last_modified DESC 在android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:186) 在android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142) 在android.content.ContentProviderProxy.query(ContentProviderNative.java:421) 在android.content.ContentResolver.query(ContentResolver.java:523) 在android.content.ContentResolver.query(ContentResolver.java:467) com.example.myapplication.MainActivity.displayLog(MainActivity.kt:50)上的> 在com.example.myapplication.MainActivity.onCreate(MainActivity.kt:29) 在android.app.Activity.performCreate(Activity.java:6177) 在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112) 在android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2541) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2685) 在android.app.ActivityThread.access $ 900(ActivityThread.java:188) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1530) 在android.os.Handler.dispatchMessage(Handler.java:111) 在android.os.Looper.loop(Looper.java:210) 在android.app.ActivityThread.main(ActivityThread.java:5839) 在java.lang.reflect.Method.invoke(本机方法) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1113) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:879)09-28 20:14:52.835 26822-26822 / com.example.myapplication I / Process:正在发送 信号。 PID:26822 SIG:9

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?