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

158 lines
5.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 {
}
}
}