小编Meh*_*iya的帖子

找不到具有授权者的元数据

我已经在我的Android应用程序中集成了Snapchat的Creative Kit。处理之后,我从服务器收到了字节数组形式的图像,将其保存到磁盘,然后将文件发送到Snapchat的Creative Kit,如下所示。

 private fun downloadImage(
    fileName: String,
    imageByteArray: ByteArray?): Uri? {
    val state = Environment.getExternalStorageState()

    if (Environment.MEDIA_MOUNTED == state) {
        val downloadDir = File(
            Environment.getExternalStorageDirectory(), context?.getString(R.string.app_name)
        )

        if (!downloadDir.isDirectory) {
            downloadDir.mkdirs()
        }

        val file = File(downloadDir, fileName)
        var ostream: FileOutputStream? = null
        try {
            ostream = FileOutputStream(file)
            ostream.write(imageByteArray)
            ostream.flush()
            ostream.close()
            }
        } catch (e: IOException) {
            e.printStackTrace()
        }

    val snapCreativeKitApi = SnapCreative.getApi(context!!)
    val snapMediaFactory = SnapCreative.getMediaFactory(context!!)
    lateinit var snapPhotoFile: SnapPhotoFile
    try {
        snapPhotoFile = snapMediaFactory.getSnapPhotoFromFile(file)
    } catch (e: SnapMediaSizeException) …
Run Code Online (Sandbox Code Playgroud)

android android-fileprovider snapchat

5
推荐指数
6
解决办法
4140
查看次数

从通话记录中获取最近通话的详细信息

我正在使用以下代码从通话记录中获取最近通话的详细信息。

public static CallDetails getLastCallDetails(Context context) {

    CallDetails callDetails = new CallDetails();

    Uri contacts = CallLog.Calls.CONTENT_URI;
    try {

        Cursor managedCursor = context.getContentResolver().query(contacts, null, null, null, android.provider.CallLog.Calls.DATE + " DESC limit 1;");

        int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);
        int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);
        int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);
        int incomingtype = managedCursor.getColumnIndex(String.valueOf(CallLog.Calls.INCOMING_TYPE));


        while (managedCursor.moveToNext()) {
            String callType;
            String phNumber = managedCursor.getString(number);
            String callerName = getContactName(context, phNumber);
            if(incomingtype == -1){
                callType = "incoming";
            }
            else {
                callType = "outgoing";
            }
            String callDate = managedCursor.getString(date);
            String callDayTime …
Run Code Online (Sandbox Code Playgroud)

android calllog

3
推荐指数
1
解决办法
5508
查看次数

查找 NavHostFragment Jetpack 导航 Android 时出错

我正在使用 Jetpack Navigation 来处理 Fragment 的导航。按照文档操作后,当我运行该应用程序时,出现以下错误。

Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.navigation.fragment.NavHostFragment" 
Run Code Online (Sandbox Code Playgroud)

构建.gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
compileSdkVersion 'android-P'

defaultConfig {
    applicationId "com.meditab.imspatient"
    minSdkVersion 21
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {

def nav_version = "1.0.0-alpha01"

implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation 'androidx.constraintlayout:constraintlayout:1.1.0' // Constraint layout

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // Kotlin

// Anko
implementation "org.jetbrains.anko:anko-commons:$anko_version" // …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-navigation android-jetpack android-architecture-navigation

3
推荐指数
1
解决办法
4366
查看次数

底部应用栏顶部的阴影

我正在使用Material Design Components中的新Bottom App Bar。我试图在底部应用栏的顶部给阴影,就像Google Tasks应用中的阴影一样,如下所示。

在此处输入图片说明

我尝试同时使用android:elevationapp:elevation属性。请帮忙。

android android-layout mdc-components

2
推荐指数
1
解决办法
2082
查看次数

知道AsyncTask是否正在运行

我有一个活动,每次呼叫结束时都会调用它.此活动低于AsyncTask.

UploadRecordings uploadRecordings = new UploadRecordings();
uploadRecordings.execute(context);
Run Code Online (Sandbox Code Playgroud)

现在,当我每次都有新的AysncTask创建时,我会一个接一个地调用.但Android将AsyncTask的数量限制为5.所以问题是我想检查AsyncTask是否已经在运行,如果发现正在运行,则不要创建新的AsyncTask.如果没有运行AsyncTask,我想创建一个新的AsyncTask.

任何帮助都要得到赞赏.

java performance android task android-asynctask

1
推荐指数
2
解决办法
4939
查看次数

不允许在底部应用栏中设置标题

我的应用程序中有一个主要活动,其中包含Material Design Components中新的Bottom App Bar。在用户交互时,我替换了不同的片段。

为了使用户知道他们在应用程序中的当前位置,我决定将底部应用程序栏的标题设置为与片段的标题相同。但是,我无法设置标题,并且看到实现后,发现“底部应用栏不能具有标题”。

在此处输入图片说明

我想知道在这种情况下如何使用户知道他在应用程序中的位置,或者是否有任何方法可以设置底部应用程序栏的标题。

android mdc-components

1
推荐指数
1
解决办法
1104
查看次数

项目Onclick RecyclerView Kotlin Android

我在Kotlin中有RecyclerView适配器,当用户单击categoryPhoto时,我想打开一个新活动。我应该如何实施呢?

class CategoryAdapter(private val categoryList: List<Category>, private val context: Context) : RecyclerView.Adapter<CategoryAdapter.MyViewHolder>() {

class MyViewHolder(view: View) : RecyclerView.ViewHolder(view) {

        var categoryName = view.text_view_category_name
        var categoryPhoto = view.image_view_category
        var cardView = view.card_view_category

}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = MyViewHolder(parent.inflate(R.layout.category_list_row))

override fun onBindViewHolder(holder: MyViewHolder, position: Int) {

    val category = categoryList[position]

    // Set height of cardview based on screen width
    val displayMetrics = context.resources.displayMetrics
    val finalHeight = displayMetrics.widthPixels / 2
    holder.cardView.layoutParams.height = finalHeight

    holder.categoryName.text = category.oc
    holder.categoryPhoto.loadUrl(category.icon)
}

override fun …
Run Code Online (Sandbox Code Playgroud)

android kotlin

0
推荐指数
1
解决办法
7711
查看次数