2

我有一个内容提供商,它提供来自用户帐户的数据。如果用户未登录,我想在应用程序向内容提供者请求数据时显示登录对话框。可能吗?还是我对这一切都错了?我想另一种解决方案是抛出异常或从内容提供者返回指示错误的数据,并让应用程序处理它,但我觉得第一个解决方案是最好的,因为应用程序不必担心正在登录的用户或登录所需的用户界面。

4

2 回答 2

1
class Provider : ContentProvider() {
    override fun onCreate() = true

    override fun query(
        uri: Uri,
        projection: Array<String>,
        selection: String?,
        selectionArgs: Array<String>?,
        sortOrder: String?
    ): Cursor? {
        context.startActivity(Intent(context, MainActivity::class.java)
            .apply { flags = Intent.FLAG_ACTIVITY_NEW_TASK })
        return null
    }

    override fun getType(uri: Uri) = null

    override fun insert(uri: Uri, values: ContentValues) = null

    override fun delete(uri: Uri, selection: String, selectionArgs: Array<String>) = 0

    override fun update(
        uri: Uri,
        values: ContentValues?,
        selection: String?,
        selectionArgs: Array<String>?
    ) = 0
}
于 2019-05-21T10:37:09.917 回答
0

想想服务。然而,通常不建议从服务开始活动,因此也可能不是内容提供者。然而,您问题中最令人困惑的部分是“在应用程序向内容提供者请求数据时”这个内容提供者是否可用于多个 android 应用程序?

于 2012-07-11T04:08:20.880 回答