pda/zhuike/.svn/pristine/c0/c064150c1b6add225e540726097...

158 lines
5.1 KiB
Plaintext
Raw Normal View History

2024-02-06 22:23:29 +08:00
package com.novelbook.android.filechooser;
import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
import com.novelbook.android.FileActivity;
import com.novelbook.android.R;
import java.util.ArrayList;
public class FileChooserActivity extends AppCompatActivity {
private Toolbar toolbar;
private FragmentManager fragmentManager = null;
private FragmentTransaction fragmentTransaction = null;
private DirectoryFragment mDirectoryFragment;
public static final int EXTERNAL_STORAGE_REQ_CODE = 10 ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout. zactivity_filechooser);
toolbar = (Toolbar) findViewById(R.id.tool_bar);
toolbar.setTitle("目录");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
fragmentManager = getSupportFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
mDirectoryFragment = new DirectoryFragment();
mDirectoryFragment.setDelegate(new DirectoryFragment.DocumentSelectActivityDelegate() {
@Override
public void startDocumentSelectActivity() {
}
@Override
public void didSelectFiles(DirectoryFragment activity,
ArrayList<String> files) {
mDirectoryFragment.showReadBox(files.get(0).toString());
}
@Override
public void updateToolBarName(String name) {
toolbar.setTitle(name);
}
});
fragmentTransaction.add(R.id.fragment_container, mDirectoryFragment, "" + mDirectoryFragment.toString());
fragmentTransaction.commit();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
checkPermission(FileChooserActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE, EXTERNAL_STORAGE_REQ_CODE,"添加图书需要此权限,请允许");
}
}
@Override
protected void onResume() {
super.onResume();
// MobclickAgent.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
// MobclickAgent.onPause(this);
}
@Override
protected void onDestroy() {
mDirectoryFragment.onFragmentDestroy();
super.onDestroy();
}
@Override
public void onBackPressed() {
if (mDirectoryFragment.onBackPressed_()) {
super.onBackPressed();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
// getMenuInflater().inflate(R.menu.file, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_select_file){
Intent intent = new Intent(FileChooserActivity.this, FileActivity.class);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
/**
* 检查是否拥有权限
* @param thisActivity
* @param permission
* @param requestCode
* @param errorText
*/
protected void checkPermission (Activity thisActivity, String permission, int requestCode, String errorText) {
//判断当前Activity是否已经获得了该权限
if(ContextCompat.checkSelfPermission(thisActivity,permission) != PackageManager.PERMISSION_GRANTED) {
//如果App的权限申请曾经被用户拒绝过就需要在这里跟用户做出解释
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
permission)) {
Toast.makeText(this,errorText,Toast.LENGTH_SHORT).show();
//进行权限请求
ActivityCompat.requestPermissions(thisActivity,
new String[]{permission},
requestCode);
} else {
//进行权限请求
ActivityCompat.requestPermissions(thisActivity,
new String[]{permission},
requestCode);
}
} else {
}
}
}