仿抖音短视频系统源码,获取系统图片
生活随笔
收集整理的這篇文章主要介紹了
仿抖音短视频系统源码,获取系统图片
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
仿抖音短視頻系統(tǒng)源碼,實(shí)現(xiàn)獲取系統(tǒng)圖片的相關(guān)代碼如下:
首先開權(quán)限
但是實(shí)際上還需要?jiǎng)討B(tài)申請(qǐng)權(quán)限
package com.example.mediaeidaprovierdemo;import android.Manifest; import android.content.ContentResolver; import android.content.ContentValues; import android.content.DialogInterface; import android.content.Intent;import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.RemoteException; import android.provider.MediaStore; import android.provider.Settings; import android.support.annotation.Nullable; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ImageView; import android.widget.Toast;import static android.content.pm.PackageManager.PERMISSION_GRANTED;public class MainActivity extends AppCompatActivity {private ContentResolver mProvider;private static final int NOT_NOTICE = 2;//如果勾選了不再詢問(wèn)private AlertDialog alertDialog;private AlertDialog mDialog;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);myRequetPermission();}private void myRequetPermission() {if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PERMISSION_GRANTED) {ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);} else {run();Toast.makeText(this, "您已經(jīng)申請(qǐng)了權(quán)限!", Toast.LENGTH_SHORT).show();}}private void run() {ImageView imageView = findViewById(R.id.iv_main_show);String filePath;mProvider = getContentResolver();Cursor cursor = mProvider.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{MediaStore.Images.Media.DATA},null, null, null, null);int columnIndex = cursor.getColumnIndex(MediaStore.Images.Media.DATA);if (cursor.moveToFirst()) {filePath = cursor.getString(columnIndex);Bitmap bitmap = BitmapFactory.decodeFile(filePath);imageView.setImageBitmap(bitmap);}cursor.close();}@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == NOT_NOTICE) {myRequetPermission();//由于不知道是否選擇了允許所以需要再次判斷}}@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {super.onRequestPermissionsResult(requestCode, permissions, grantResults);if (requestCode == 1) {for (int i = 0; i < permissions.length; i++) {if (grantResults[i] == PERMISSION_GRANTED) {//選擇了“始終允許”run();Toast.makeText(this, "" + "權(quán)限" + permissions[i] + "申請(qǐng)成功", Toast.LENGTH_SHORT).show();} else {if (!ActivityCompat.shouldShowRequestPermissionRationale(this, permissions[i])) {//用戶選擇了禁止不再詢問(wèn)AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setTitle("permission").setMessage("點(diǎn)擊允許才可以使用我們的app哦").setPositiveButton("去允許", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int id) {if (mDialog != null && mDialog.isShowing()) {mDialog.dismiss();}Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);Uri uri = Uri.fromParts("package", getPackageName(), null);//注意就是"package",不用改成自己的包名intent.setData(uri);startActivityForResult(intent, NOT_NOTICE);}});mDialog = builder.create();mDialog.setCanceledOnTouchOutside(false);mDialog.show();} else {//選擇禁止AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setTitle("permission").setMessage("點(diǎn)擊允許才可以使用我們的app哦").setPositiveButton("去允許", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int id) {if (alertDialog != null && alertDialog.isShowing()) {alertDialog.dismiss();}ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);}});alertDialog = builder.create();alertDialog.setCanceledOnTouchOutside(false);alertDialog.show();}}}}} }以上就是仿抖音短視頻系統(tǒng)源碼,獲取系統(tǒng)圖片的相關(guān)代碼,更多內(nèi)容歡迎關(guān)注之后的文章
本文轉(zhuǎn)載自網(wǎng)絡(luò),轉(zhuǎn)載僅為分享干貨知識(shí),如有侵權(quán)歡迎聯(lián)系云豹科技進(jìn)行刪除處理
總結(jié)
以上是生活随笔為你收集整理的仿抖音短视频系统源码,获取系统图片的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: S5PV210-uboot解析(三)-s
- 下一篇: 分片集群