如何调用Android的活动纳入P​​honeGap的HTML? [英] How to call android activities into phonegap html?

查看:105
本文介绍了如何调用Android的活动纳入P​​honeGap的HTML?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近开始对PhoneGap的工作,我碰到的,我需要浏览来自Android手机的文件,并显示所选文件的路径的任务。我搜索了很多在PhoneGap的才达到这一点,但我见过的所有例子都能够搜索和手机图库上传仅适用于图像,但我想从移动选择任何类型的文件。正如我听说我们可以调用Android原生code到PhoneGap的HTML,所以我使用本地code实现我的功能,这里是我的活动类:

MainActivity.java

 公共类MainActivity扩展活动实现OnClickListener {私有静态最终诠释REQUEST_PICK_FILE = 1;私人TextView的mFilePathTextView;
私人按钮mStartActivityButton;
私人文件selectedFile;@覆盖
公共无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);    mFilePathTextView =(的TextView)findViewById(R.id.file_path_text_view);
    mStartActivityButton =(按钮)findViewById(R.id.start_file_picker_button);
    mStartActivityButton.setOnClickListener(本);
}公共无效的onClick(视图v){
    开关(v.getId()){
    案例R.id.start_file_picker_button:
        意向意图=新意图(这一点,FilePickerActivity.class);
        startActivityForResult(意向,REQUEST_PICK_FILE);
        打破;
    }
}@覆盖
保护无效的onActivityResult(INT申请code,INT结果code,意图数据){
    如果(结果code == RESULT_OK){
        开关(要求code){
        案例REQUEST_PICK_FILE:
            如果(data.hasExtra(FilePickerActivity.EXTRA_FILE_PATH)){
                selectedFile =新的文件(data.getStringExtra(FilePickerActivity.EXTRA_FILE_PATH));
                mFilePathTextView.setText(selectedFile.getPath());            }
        }
    }
}

FilePickerActivity.java

 公共类FilePickerActivity扩展ListActivity {公共最后静态字符串EXTRA_FILE_PATH =FILE_PATH;
公共最后静态字符串EXTRA_SHOW_HIDDEN_FILES =show_hidden_​​files;
公共最后静态字符串EXTRA_ACCEPTED_FILE_EXTENSIONS =accepted_file_extensions;
私人最终静态字符串DEFAULT_INITIAL_DIRECTORY =/;受保护的文件mDirectory;
保护的ArrayList<文件> mFiles;
保护FilePickerListAdapter mAdapter;
保护布尔mShowHiddenFiles = FALSE;
受保护的String [] acceptedFileExtensions;@覆盖
保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);    LayoutInflater充气=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    查看emptyView = inflator.inflate(R.layout.file_picker_empty_view,NULL);
    (。(ViewGroup中)getListView()的getParent())addView(emptyView)。
    getListView()setEmptyView(emptyView)。    mDirectory =新的文件(DEFAULT_INITIAL_DIRECTORY);    mFiles =新的ArrayList<文件>();    mAdapter =新FilePickerListAdapter(这一点,mFiles);
    setListAdapter(mAdapter);    acceptedFileExtensions =新的String [] {};    如果(getIntent()。hasExtra(EXTRA_FILE_PATH)){
        mDirectory =新的文件(getIntent()getStringExtra(EXTRA_FILE_PATH));
    }
    如果(getIntent()。hasExtra(EXTRA_SHOW_HIDDEN_FILES)){
        mShowHiddenFiles = getIntent()getBooleanExtra(EXTRA_SHOW_HIDDEN_FILES,FALSE)。
    }
    如果(getIntent()。hasExtra(EXTRA_ACCEPTED_FILE_EXTENSIONS)){
        ArrayList的<串GT;集合= getIntent()getStringArrayListExtra(EXTRA_ACCEPTED_FILE_EXTENSIONS)。
        acceptedFileExtensions =(字符串[])collection.toArray(新的String [collection.size()]);
    }
}@覆盖
保护无效onResume(){
    refreshFilesL​​ist();
    super.onResume();
}保护无效refreshFilesL​​ist(){
    mFiles.clear();   ExtensionFilenameFilter过滤器=新ExtensionFilenameFilter(acceptedFileExtensions);    文件[] =文件mDirectory.listFiles(过滤器);
    如果(文件= NULL&放大器;!&安培; files.length大于0){
        对于(F文件:文件){
            如果(f.isHidden()及&放大器;!mShowHiddenFiles){
                继续;
            }            mFiles.add(F);
        }        Collections.sort(mFiles,新FileComparator());
    }
    mAdapter.notifyDataSetChanged();
}@覆盖
公共无效onBack pressed(){
    如果(mDirectory.getParentFile()!= NULL){
        mDirectory = mDirectory.getParentFile();
        refreshFilesL​​ist();
        返回;
    }    super.onBack pressed();
}@覆盖
保护无效onListItemClick(ListView中升,视图V,INT位置,长的id){
    文件NEWFILE =(文件)l.getItemAtPosition(位置);    如果(newFile.isFile()){
        意向额外=新的Intent();
        extra.putExtra(EXTRA_FILE_PATH,newFile.getAbsolutePath());
        的setResult(RESULT_OK,另计);
         完();
    }其他{
        mDirectory = NEWFILE;
        refreshFilesL​​ist();
    }    super.onListItemClick(L,V,位置ID);
}私有类FilePickerListAdapter扩展ArrayAdapter<文件> {    私人列表<文件> mObjects;    公共FilePickerListAdapter(上下文的背景下,列表与LT;文件>的对象){
        超(背景下,R.layout.file_picker_list_item,android.R.id.text1,对象);
        mObjects =物体;
    }    @覆盖
    公共查看getView(INT位置,查看convertView,父母的ViewGroup){        查看排= NULL;        如果(convertView == NULL){
            LayoutInflater吹气=(LayoutInflater)的getContext()getSystemService(Context.LAYOUT_INFLATER_SERVICE)。
            行= inflater.inflate(R.layout.file_picker_list_item,父母,假);
        }其他{
            排= convertView;
        }        File对象= mObjects.get(位置);        ImageView的ImageView的=(ImageView的)row.findViewById(R.id.file_picker_image);
        TextView中的TextView =(TextView中)row.findViewById(R.id.file_picker_text);
        textView.setSingleLine(真);        textView.setText(object.getName());
        如果(object.isFile()){
            imageView.setImageResource(R.drawable.file);
        }其他{
            imageView.setImageResource(R.drawable.folder);
        }        返回行;
    }}私有类FileComparator实现比较<文件> {
    公众诠释比较(文件F1,文件F2){
        如果(F1 F2 ==){
            返回0;
        }
        如果(f1.isDirectory()及&放大器; f2.isFile()){
            返回-1;
        }
        如果(f1.isFile()及&放大器; f2.isDirectory()){
             返回1;
        }
        返回f1.getName()与compareToIgnoreCase(f2.getName())。
    }
}私有类ExtensionFilenameFilter实现了FilenameFilter {
    私有String [] mExtensions;    公共ExtensionFilenameFilter(字符串[]扩展){
        超();
        mExtensions =扩展;
    }    公共布尔接受(文件目录,字符串文件名){
        如果(新文件(目录,文件名).isDirectory()){
            返回true;
        }
        如果(mExtensions =空&放大器;!&放大器; mExtensions.length大于0){
            的for(int i = 0; I< mExtensions.length;我++){
                如果(filename.endsWith(mExtensions [I])){
                    返回true;
                }
            }
            返回false;
        }
        返回true;
    }
}

现在我想使用PhoneGap的中距离html.I've这些网站看到一些eamples这些活动
站点1 站点2 <一个href=\"http://stackoverflow.com/questions/2727763/communication-between-android-java-and-phonegap-javascrip\">site3但没能获得如何使用我的活动课在其中。任何人都可以请帮我如何调用我的上述2活动课中的PhoneGap?我希望我的问题是清楚的。

下面是我的XML的:

main.xml中

 &LT; LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
       机器人:方向=垂直
       机器人:layout_width =FILL_PARENT
       机器人:layout_height =FILL_PARENT
       机器人:重力=顶&GT;
&LT;按钮的android:layout_width =FILL_PARENT
    机器人:layout_height =WRAP_CONTENT
    机器人:ID =@ + ID / start_file_picker_button
    机器人:文字=浏览/&GT;
&LT;的TextView
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =WRAP_CONTENT
    机器人:文字=选择文件
    机器人:文字样式=大胆
    机器人:文字颜色=#0f894a
    机器人:TEXTSIZE =24sp/&GT;
&LT;的TextView
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =WRAP_CONTENT
    机器人:ID =@ + ID / file_path_text_view
    机器人:文字=没有文件已被选定
    机器人:TEXTSIZE =28sp/&GT;
&LT; / LinearLayout中&GT;

file_view.xml:

 &LT; LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
机器人:layout_width =FILL_PARENT
机器人:layout_height =机器人:ATTR /列表preferredItemHeight机器人:填充=6DIP&GT;&LT; ImageView的
    机器人:ID =@ + ID /图标    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =FILL_PARENT
    机器人:layout_marginRight =6DIP    机器人:SRC =@绘制/ ic_launcher/&GT;&LT;的LinearLayout
    机器人:方向=垂直    机器人:layout_width =0dip
    机器人:layout_weight =1
    机器人:layout_height =FILL_PARENT&GT;    &LT;的TextView
        机器人:layout_width =FILL_PARENT
        机器人:layout_height =0dip
        机器人:layout_weight =1        机器人:重力=center_vertical
        机器人:文字=我的应用/&GT;    &LT;的TextView
        机器人:layout_width =FILL_PARENT
        机器人:layout_height =0dip
        机器人:layout_weight =1        机器人:单线=真
        机器人:ellipsize =金字招牌
        机器人:文字=简单的应用程序,展示了如何使用RelativeLayout的/&GT;&LT; / LinearLayout中&GT;


file_picker_list_item.xml:

 &LT; LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
       机器人:layout_width =FILL_PARENT
       机器人:layout_height =WRAP_CONTENT
       机器人:方向=横向&GT;
&LT; ImageView的
  机器人:ID =@ + ID / file_picker_image
  机器人:layout_width =40dip
  机器人:layout_height =40dip
  机器人:layout_marginTop =5dip
  机器人:layout_marginBottom =5dip
  机器人:layout_marginLeft =5dip
  机器人:SRC =@绘制/文件
  机器人:scaleType =centerCrop/&GT;
 &LT;的TextView
  机器人:ID =@ + ID / file_picker_text
  机器人:layout_width =FILL_PARENT
  机器人:layout_height =WRAP_CONTENT
  机器人:layout_weight =1
  机器人:layout_gravity =左| center_vertical
  机器人:TEXTSIZE =24sp
  机器人:layout_marginLeft =10dip
  机器人:单线=真
  机器人:文字=文件名/&GT;
 &LT; / LinearLayout中&GT;

file_picker_empty_view.xml

 &LT; TextView中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
     机器人:layout_width =FILL_PARENT
     机器人:layout_height =FILL_PARENT
     机器人:文字=没有文件或目录
     机器人:背景=@机器人:可绘制/ toast_frame
     机器人:TEXTSIZE =24sp
     机器人:重力=center_vertical | CENTER_HORIZONTAL/&GT;


解决方案

您需要创建一个辅助类是这样的:

 公共类助手类扩展插件实现OnClickListener    受保护的静态最后弦乐TAG = NULL;
    私人DroidGap mGap;
    公共助手类(DroidGap差距的WebView视图)
    {
        mGap =差距;
    }
       @覆盖
    公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);    mFilePathTextView =(的TextView)findViewById(R.id.file_path_text_view);
    mStartActivityButton =(按钮)findViewById(R.id.start_file_picker_button);
    mStartActivityButton.setOnClickListener(本);
}    公共无效的onClick(视图v){
    开关(v.getId()){
    案例R.id.start_file_picker_button:
        意向意图=新意图(这一点,FilePickerActivity.class);
        startActivityForResult(意向,REQUEST_PICK_FILE);
        打破;
    }
}    @覆盖
    保护无效的onActivityResult(INT申请code,INT结果code,意图数据){
        如果(结果code == RESULT_OK){
            开关(要求code){
            案例REQUEST_PICK_FILE:
                如果(data.hasExtra(FilePickerActivity.EXTRA_FILE_PATH)){
                    selectedFile =新的文件(data.getStringExtra(FilePickerActivity.EXTRA_FILE_PATH));
                    mFilePathTextView.setText(selectedFile.getPath());            }
        }
    }
}@覆盖
公共PluginResult执行(字符串为arg0,ARG1 JSONArray,字符串ARG2){
    // TODO自动生成方法存根
    返回null;
}

}

那么你的主要活动必须是这样的:

 公共类MainActivity扩展DroidGap {
    / **当第一次创建活动调用。 * /
助手类CNA;
    @覆盖
    公共无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    super.init();
    中央社=新助手类(这一点,APPVIEW);
    appView.addJavascriptInterface(中央社助手类);
    super.loadUrl(文件:///android_asset/www/index.html);
    }
}

I have recently started working on phonegap and i came across a task in which i need to browse for a file from android mobile and display the path of selected file. I've searched alot to achive this in phonegap but all examples i've seen are able to search and upload only images from phone gallery but i want to select any type of file from mobile. As i heard that we can call android native code into phonegap html so i implemented my functionality using native code and here are my Activity classes:

MainActivity.java

public class MainActivity extends Activity implements OnClickListener {

private static final int REQUEST_PICK_FILE = 1;

private TextView mFilePathTextView;
private Button mStartActivityButton;
private File selectedFile;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mFilePathTextView = (TextView)findViewById(R.id.file_path_text_view);
    mStartActivityButton = (Button)findViewById(R.id.start_file_picker_button);
    mStartActivityButton.setOnClickListener(this);      
}

public void onClick(View v) {
    switch(v.getId()) {
    case R.id.start_file_picker_button:
        Intent intent = new Intent(this, FilePickerActivity.class);
        startActivityForResult(intent, REQUEST_PICK_FILE);
        break;
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if(resultCode == RESULT_OK) {
        switch(requestCode) {
        case REQUEST_PICK_FILE:
            if(data.hasExtra(FilePickerActivity.EXTRA_FILE_PATH)) {
                selectedFile = new File(data.getStringExtra(FilePickerActivity.EXTRA_FILE_PATH));
                mFilePathTextView.setText(selectedFile.getPath());  

            }
        }
    }
}

FilePickerActivity.java

public class FilePickerActivity extends ListActivity {

public final static String EXTRA_FILE_PATH = "file_path";
public final static String EXTRA_SHOW_HIDDEN_FILES = "show_hidden_files";
public final static String EXTRA_ACCEPTED_FILE_EXTENSIONS = "accepted_file_extensions";
private final static String DEFAULT_INITIAL_DIRECTORY = "/";

protected File mDirectory;
protected ArrayList<File> mFiles;
protected FilePickerListAdapter mAdapter;
protected boolean mShowHiddenFiles = false;
protected String[] acceptedFileExtensions;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LayoutInflater inflator = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View emptyView = inflator.inflate(R.layout.file_picker_empty_view, null);
    ((ViewGroup)getListView().getParent()).addView(emptyView);
    getListView().setEmptyView(emptyView);

    mDirectory = new File(DEFAULT_INITIAL_DIRECTORY);

    mFiles = new ArrayList<File>();

    mAdapter = new FilePickerListAdapter(this, mFiles);
    setListAdapter(mAdapter);

    acceptedFileExtensions = new String[] {};

    if(getIntent().hasExtra(EXTRA_FILE_PATH)) {
        mDirectory = new File(getIntent().getStringExtra(EXTRA_FILE_PATH));
    }
    if(getIntent().hasExtra(EXTRA_SHOW_HIDDEN_FILES)) {
        mShowHiddenFiles = getIntent().getBooleanExtra(EXTRA_SHOW_HIDDEN_FILES, false);
    }
    if(getIntent().hasExtra(EXTRA_ACCEPTED_FILE_EXTENSIONS)) {
        ArrayList<String> collection = getIntent().getStringArrayListExtra(EXTRA_ACCEPTED_FILE_EXTENSIONS);
        acceptedFileExtensions = (String[]) collection.toArray(new String[collection.size()]);
    }
}

@Override
protected void onResume() {
    refreshFilesList();
    super.onResume();
}

protected void refreshFilesList() {
    mFiles.clear();

   ExtensionFilenameFilter filter = new ExtensionFilenameFilter(acceptedFileExtensions);

    File[] files = mDirectory.listFiles(filter);
    if(files != null && files.length > 0) {
        for(File f : files) {
            if(f.isHidden() && !mShowHiddenFiles) {
                continue;
            }

            mFiles.add(f);
        }

        Collections.sort(mFiles, new FileComparator());
    }
    mAdapter.notifyDataSetChanged();
}

@Override
public void onBackPressed() {
    if(mDirectory.getParentFile() != null) {
        mDirectory = mDirectory.getParentFile();
        refreshFilesList();
        return;
    }

    super.onBackPressed();
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    File newFile = (File)l.getItemAtPosition(position);

    if(newFile.isFile()) {
        Intent extra = new Intent();
        extra.putExtra(EXTRA_FILE_PATH, newFile.getAbsolutePath());
        setResult(RESULT_OK, extra);
         finish();
    } else {
        mDirectory = newFile;
        refreshFilesList();
    }

    super.onListItemClick(l, v, position, id);
}

private class FilePickerListAdapter extends ArrayAdapter<File> {

    private List<File> mObjects;

    public FilePickerListAdapter(Context context, List<File> objects) {
        super(context, R.layout.file_picker_list_item, android.R.id.text1, objects);
        mObjects = objects;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View row = null;

        if(convertView == null) { 
            LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            row = inflater.inflate(R.layout.file_picker_list_item, parent, false);
        } else {
            row = convertView;
        }

        File object = mObjects.get(position);

        ImageView imageView = (ImageView)row.findViewById(R.id.file_picker_image);
        TextView textView = (TextView)row.findViewById(R.id.file_picker_text);
        textView.setSingleLine(true);

        textView.setText(object.getName());
        if(object.isFile()) {
            imageView.setImageResource(R.drawable.file);
        } else {
            imageView.setImageResource(R.drawable.folder);
        }

        return row;
    }

}

private class FileComparator implements Comparator<File> {
    public int compare(File f1, File f2) {
        if(f1 == f2) {
            return 0;
        }
        if(f1.isDirectory() && f2.isFile()) {
            return -1;
        }
        if(f1.isFile() && f2.isDirectory()) {
             return 1;
        }
        return f1.getName().compareToIgnoreCase(f2.getName());
    }
}

private class ExtensionFilenameFilter implements FilenameFilter {
    private String[] mExtensions;

    public ExtensionFilenameFilter(String[] extensions) {
        super();
        mExtensions = extensions;
    }

    public boolean accept(File dir, String filename) {
        if(new File(dir, filename).isDirectory()) {
            return true;
        }
        if(mExtensions != null && mExtensions.length > 0) {
            for(int i = 0; i < mExtensions.length; i++) {
                if(filename.endsWith(mExtensions[i])) {
                    return true;
                }
            }
            return false;
        }
        return true;
    }
}

Now i want to use these activities in phonegap html.I've seen some eamples from these sites site1 site2 site3 but not able to get how can i use my activity classes in them. Can anyone please help me how to call my above 2 activity classes in phonegap? I hope my question is clear.

Here are my xml's:

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:orientation="vertical"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:gravity="top">
<Button android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/start_file_picker_button"
    android:text="Browse" />
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Selected file"
    android:textStyle="bold"
    android:textColor="#0f894a"
    android:textSize="24sp" />
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/file_path_text_view"
    android:text="No file has been selected"
    android:textSize="28sp" />
</LinearLayout>

file_view.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"

android:padding="6dip">

<ImageView
    android:id="@+id/icon"

    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_marginRight="6dip"

    android:src="@drawable/ic_launcher" />

<LinearLayout
    android:orientation="vertical"

    android:layout_width="0dip"
    android:layout_weight="1"
    android:layout_height="fill_parent">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"

        android:gravity="center_vertical"
        android:text="My Application" />

    <TextView  
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1" 

        android:singleLine="true"
        android:ellipsize="marquee"
        android:text="Simple application that shows how to use RelativeLayout" />

</LinearLayout>

file_picker_list_item.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:orientation="horizontal" >
<ImageView
  android:id="@+id/file_picker_image"
  android:layout_width="40dip"
  android:layout_height="40dip"
  android:layout_marginTop="5dip"
  android:layout_marginBottom="5dip"
  android:layout_marginLeft="5dip"
  android:src="@drawable/file"
  android:scaleType="centerCrop"/>
 <TextView
  android:id="@+id/file_picker_text"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:layout_weight="1"
  android:layout_gravity="left|center_vertical"
  android:textSize="24sp"
  android:layout_marginLeft="10dip"
  android:singleLine="true"
  android:text="filename"/>
 </LinearLayout>

file_picker_empty_view.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:text="No files or directories"
     android:background="@android:drawable/toast_frame"
     android:textSize="24sp"
     android:gravity="center_vertical|center_horizontal"/>

解决方案

You need to create a helper class something like:

public class HelperClass extends Plugin implements OnClickListener 

    protected static final String TAG = null;
    private DroidGap mGap;
    public HelperClass(DroidGap gap, WebView view)
    {
        mGap = gap;
    }   
       @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    mFilePathTextView = (TextView)findViewById(R.id.file_path_text_view);
    mStartActivityButton = (Button)findViewById(R.id.start_file_picker_button);
    mStartActivityButton.setOnClickListener(this);      
}

    public void onClick(View v) {
    switch(v.getId()) {
    case R.id.start_file_picker_button:
        Intent intent = new Intent(this, FilePickerActivity.class);
        startActivityForResult(intent, REQUEST_PICK_FILE);
        break;
    }
}   

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(resultCode == RESULT_OK) {
            switch(requestCode) {
            case REQUEST_PICK_FILE:
                if(data.hasExtra(FilePickerActivity.EXTRA_FILE_PATH)) {
                    selectedFile = new     File(data.getStringExtra(FilePickerActivity.EXTRA_FILE_PATH));
                    mFilePathTextView.setText(selectedFile.getPath());  

            }
        }
    }
}

@Override
public PluginResult execute(String arg0, JSONArray arg1, String arg2) {
    // TODO Auto-generated method stub
    return null;
}

}

then your main activity needs to be something like:

        public class MainActivity extends DroidGap {
    /** Called when the activity is first created. */
HelperClass cna;
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);      
    super.init();    
    cna = new HelperClass(this, appView);    
    appView.addJavascriptInterface(cna, "HelperClass");      
    super.loadUrl("file:///android_asset/www/index.html");
    }
}

这篇关于如何调用Android的活动纳入P​​honeGap的HTML?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆