package com.geolo.android.flash;
import com.geolo.android.FileBrowser;
import com.geolo.android.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ProgressBar;
public class FlashActivity extends Activity{
private WebView mWebView;
private Button playButton,pauseButton,rewindButton,exitButton,fileButton;
private ProgressBar mProgressBarHorizontal;
private final static int PROGRESSBARSIZE = 0x0000;
private final static int FLASH_START = 0x0001;
private String flashName ;
private boolean stopThread = false;
private ProgressDialog mProgressDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mProgressDialog = new ProgressDialog(this);
mProgressDialog.setMessage("Flash动画正在加载,请稍等......");
mProgressDialog.show();
Intent intent = this.getIntent();
String fileName = intent.getStringExtra("fileName");
if(fileName != null && !fileName.equals("")){
flashName = "file://"+fileName;
//flashName = "javascript:setFlashPath(flashName)";
}else{
flashName = "file:///android_asset/sample/flash.swf";
}
Log.d(this.getClass().getName(), flashName);
mWebView = (WebView)findViewById(R.id.webView01);
mProgressBarHorizontal = (ProgressBar)findViewById(R.id.progress_horizontal);
this.setProgress(mProgressBarHorizontal.getProgress() * 100);
//this.setSecondaryProgress(mProgressBarHorizontal.getSecondaryProgress() * 100);
playButton = (Button)findViewById(R.id.playButton);
pauseButton = (Button)findViewById(R.id.pauseButton);
rewindButton = (Button)findViewById(R.id.rewindButton);
exitButton = (Button)findViewById(R.id.exitButton);
fileButton = (Button)findViewById(R.id.fileButton);
playButton.setOnClickListener(buttonListener);
pauseButton.setOnClickListener(buttonListener);
rewindButton.setOnClickListener(buttonListener);
exitButton.setOnClickListener(buttonListener);
fileButton.setOnClickListener(buttonListener);
mWebView.getSettings().setJavaScriptEnabled(true);
//mWebView.getSettings().setPluginsEnabled(true);
mWebView.getSettings().setPluginState(PluginState.ON);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.addJavascriptInterface(new CallJava(), "CallJava");
mWebView.loadUrl("file:///android_asset/sample/index.html");
//mWebView.loadUrl("javascript:setFlashPath('"+flashName+"')");
startThread();
}
Button.OnClickListener buttonListener = new Button.OnClickListener() {
@Override
public void onClick(View v) {
int buttonID = v.getId();
switch (buttonID) {
case R.id.playButton:
mWebView.loadUrl("javascript:Play()");
showFlashProgress(5);
break;
case R.id.pauseButton:
mWebView.loadUrl("javascript:Pause()");
break;
case R.id.rewindButton:
//mWebView.loadUrl(flashName);
try {
mWebView.loadUrl("about:blank");
mWebView.loadUrl("file:///android_asset/sample/index.html");
Thread.sleep(1000);
mWebView.loadUrl("javascript:setFlashPath('"+flashName+"')");
} catch (InterruptedException e) {
Log.e(this.getClass().getName(), "Flash Rewind error: ", e);
}
break;
case R.id.fileButton:
Intent intent = new Intent();
intent.setClass(FlashActivity.this, FileBrowser.class);
startActivity(intent);
stopThread = true;
FlashActivity.this.finish();
break;
case R.id.exitButton:
quitDialog();
break;
default:
break;
}
}
};
public void showFlashProgress(float progressSize){
int size = (int)progressSize;
//Toast.makeText(this, size+"", Toast.LENGTH_SHORT).show();
mProgressBarHorizontal.setProgress(size);
}
private void quitDialog(){
new AlertDialog.Builder(this)
.setMessage("没胆就不要退出")
.setPositiveButton("比你有胆", new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
stopThread = true;
FlashActivity.this.finish();
}
})
.setNegativeButton("怕你了", null)
.show();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
quitDialog();
break;
default:
break;
}
return false;
}
@Override
protected void onPause(){
super.onPause();
mWebView.pauseTimers();
if(isFinishing()){
mWebView.loadUrl("about:blank");
setContentView(new FrameLayout(this));
}
}
@Override
protected void onResume(){
super.onResume();
mWebView.resumeTimers();
}
private final class CallJava{
public void consoleFlashProgress(float progressSize){
showFlashProgress(progressSize);
}
}
private void startThread(){
//通过线程来改变ProgressBar的值
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(2000);
Message message = new Message();
message.what = FlashActivity.FLASH_START;
FlashActivity.this.myMessageHandler.sendMessage(message);
} catch (InterruptedException e1) {
Thread.currentThread().interrupt();
}
while(!stopThread && !Thread.currentThread().isInterrupted()){
try {
Thread.sleep(2000);
Message message2 = new Message();
message2.what = FlashActivity.PROGRESSBARSIZE;
FlashActivity.this.myMessageHandler.sendMessage(message2);
} catch (Exception e) {
Thread.currentThread().interrupt();
}
}
}
}).start();
}
Handler myMessageHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case FlashActivity.PROGRESSBARSIZE:
mWebView.loadUrl("javascript:showcount()");
break;
case FlashActivity.FLASH_START:
mWebView.loadUrl("javascript:setFlashPath('"+flashName+"')");
Log.d(this.getClass().getName(),"Start flash : "+flashName);
mProgressDialog.dismiss();
break;
default:
break;
}
super.handleMessage(msg);
}
};
}
没有合适的资源?快使用搜索试试~ 我知道了~
Android简易flash播放器
共40个文件
class:15个
svn-base:4个
java:4个
4星 · 超过85%的资源 需积分: 9 1.1k 下载量 103 浏览量
2010-12-21
13:56:01
上传
评论 10
收藏 1.67MB RAR 举报
温馨提示
Android简易flash播放器Android简易flash播放器Android简易flash播放器Android简易flash播放器Android简易flash播放器Android简易flash播放器Android简易flash播放器Android简易flash播放器
资源推荐
资源详情
资源评论
收起资源包目录
geolo简易flash播放器.rar (40个子文件)
GeoloMovie
AndroidManifest.xml 879B
res
layout
main.xml 1KB
drawable
icon.png 4KB
values
strings.xml 174B
proguard.cfg 1KB
src
com
geolo
android
FileBrowser.java 2KB
FileListAdapter.java 937B
flash
FlashActivity.java 6KB
bin
com
geolo
android
FileBrowser.class 3KB
R.class 524B
FileBrowser$1.class 540B
R$layout.class 391B
R$attr.class 337B
R$id.class 600B
R$string.class 424B
FileListAdapter.class 2KB
R$drawable.class 397B
flash
FlashActivity$1.class 2KB
FlashActivity$CallJava.class 847B
FlashActivity.class 6KB
FlashActivity$2.class 2KB
FlashActivity$3.class 970B
FlashActivity$4.class 1KB
sraverse
android
GeoloMovie.apk 377KB
classes.dex 13KB
resources.ap_ 369KB
.classpath 280B
assets
sample
play.js 815B
flash.swf 360KB
index.html 1008B
.svn
all-wcprops 1014B
props
format 2B
prop-base
testFlash.swf.svn-base 53B
tmp
props
prop-base
text-base
text-base
testFlash.swf.svn-base 570KB
play.js.svn-base 750B
index.html.svn-base 838B
entries 847B
default.properties 362B
.settings
.project 846B
gen
com
geolo
android
R.java 1KB
sraverse
android
共 40 条
- 1
GEOLO
- 粉丝: 187
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页