Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
xuning
/
livekitAndroidXuningTest
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
David Liu
2021-03-20 12:02:27 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
e7407c3e06cdf8fb287b3ff9cdfaa2b66508e599
e7407c3e
1 parent
20f3463c
request permissions needed for audio/video capture
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
41 行增加
和
0 行删除
sample-app/build.gradle
sample-app/src/main/AndroidManifest.xml
sample-app/src/main/java/io/livekit/android/sample/MainActivity.kt
sample-app/build.gradle
查看文件 @
e7407c3
...
...
@@ -40,6 +40,7 @@ dependencies {
implementation
'androidx.appcompat:appcompat:1.2.0'
implementation
'androidx.core:core-ktx:1.3.2'
implementation
"androidx.activity:activity-ktx:1.2.1"
implementation
'androidx.fragment:fragment-ktx:1.3.1'
implementation
'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0'
implementation
"androidx.viewpager2:viewpager2:1.0.0"
implementation
"androidx.lifecycle:lifecycle-viewmodel-ktx:${versions.androidx_lifecycle}"
...
...
sample-app/src/main/AndroidManifest.xml
查看文件 @
e7407c3
...
...
@@ -4,6 +4,8 @@
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.MODIFY_AUDIO_SETTINGS"
/>
<uses-permission
android:name=
"android.permission.RECORD_AUDIO"
/>
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<application
android:name=
".SampleApplication"
...
...
sample-app/src/main/java/io/livekit/android/sample/MainActivity.kt
查看文件 @
e7407c3
package io.livekit.android.sample
import android.Manifest
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle
import android.text.SpannableStringBuilder
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import io.livekit.android.sample.databinding.MainActivityBinding
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
...
@@ -30,6 +36,38 @@ class MainActivity : AppCompatActivity() {
}
setContentView(binding.root)
requestPermissions()
}
private fun requestPermissions() {
val requestPermissionLauncher =
registerForActivityResult(
ActivityResultContracts.RequestMultiplePermissions()
) { grants ->
for (grant in grants.entries) {
if (!grant.value) {
Toast.makeText(
this,
"Missing permission: ${grant.key}",
Toast.LENGTH_SHORT
)
.show()
}
}
}
val neededPermissions = listOf(Manifest.permission.RECORD_AUDIO, Manifest.permission.CAMERA)
.filter {
ContextCompat.checkSelfPermission(
this,
it
) == PackageManager.PERMISSION_DENIED
}
.toTypedArray()
if (neededPermissions.isNotEmpty()) {
requestPermissionLauncher.launch(neededPermissions)
}
}
companion object {
...
...
请
注册
或
登录
后发表评论