Advertisement
Guest User

permission and record a video

a guest
Nov 11th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 3.27 KB | None | 0 0
  1. package com.example.teacher.mypermissionandvideo
  2.  
  3. import android.app.Activity
  4. import android.content.Context
  5. import android.content.Intent
  6. import android.content.pm.PackageManager
  7. import android.support.v7.app.AppCompatActivity
  8. import android.os.Bundle
  9. import android.provider.MediaStore
  10. import android.support.v4.app.ActivityCompat
  11. import android.support.v4.content.ContextCompat
  12. import android.util.Log
  13. import android.widget.Toast
  14. import kotlinx.android.synthetic.main.activity_main.*
  15. import java.util.jar.Manifest
  16. import kotlin.math.log
  17.  
  18. class MainActivity : AppCompatActivity() {
  19.  
  20.     lateinit var context: Context
  21.     val VIDEO_REQUEST_CODE = 100
  22.     val VIDEO_REC = 101
  23.  
  24.     override fun onCreate(savedInstanceState: Bundle?) {
  25.         super.onCreate(savedInstanceState)
  26.         setContentView(R.layout.activity_main)
  27.         setPointer()
  28.  
  29.     }
  30.  
  31.     private fun setPointer() {
  32.         if (!setupPermissions()) {
  33.             makeRequest()
  34.         }
  35.         this.context = this
  36.         //check if we have a camera
  37.         if (!hasCamera())
  38.         {
  39.             Toast.makeText(context,"You don't have a camera", Toast.LENGTH_LONG).show()
  40.             return
  41.         }
  42.         btnRec.setOnClickListener {
  43.             val intent = Intent(MediaStore.ACTION_VIDEO_CAPTURE)
  44.             startActivityForResult(intent,VIDEO_REC)
  45.         }
  46.     }
  47.  
  48.     private fun hasCamera():Boolean{
  49.         return packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)
  50.     }
  51.     private fun makeRequest() {
  52.         //request permission
  53.         ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.CAMERA), VIDEO_REQUEST_CODE)
  54.     }
  55.  
  56.     private fun setupPermissions(): Boolean {
  57.         val permission = ContextCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA)
  58.  
  59.         //check if we have a permission
  60.         if (permission != PackageManager.PERMISSION_GRANTED) {
  61.             Log.e("permission", "Permission was denied")
  62.             return false
  63.         }
  64.         return true
  65.     }
  66.  
  67.     override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
  68.         when (requestCode) {
  69.             VIDEO_REQUEST_CODE -> {
  70.                 if (grantResults.isEmpty() || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
  71.                     Log.e("permission", "Permission was denied")
  72.                 } else {
  73.                     Log.e("permission", "Permission was granted")
  74.                 }
  75.             }
  76.         }
  77.     }
  78.  
  79.     override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
  80.  
  81.         if (requestCode == VIDEO_REC)
  82.         {
  83.             if (resultCode == Activity.RESULT_OK)
  84.             {
  85.                 val videoUri = data.data
  86.                 Toast.makeText(context,"The video location:"+videoUri,Toast.LENGTH_LONG).show()
  87.                 Log.e("Alex o shit","inaal alex o. : "+videoUri)
  88.             }
  89.             else if (resultCode == Activity.RESULT_CANCELED){
  90.                 Toast.makeText(context,"User canceled video recording",Toast.LENGTH_LONG).show()
  91.             }
  92.             else
  93.             {
  94.                 Toast.makeText(context,"Error in recording video",Toast.LENGTH_LONG).show()
  95.             }
  96.         }
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement