Added phone information for android

This commit is contained in:
addios 2009-02-27 14:22:59 +07:00
parent bff74d9b5e
commit c96e369351
4 changed files with 202 additions and 13 deletions

View File

@ -330,7 +330,7 @@ var Device = {
Device.storage.result = window.DroidGap.createDirectory(file);
return Device.storage.result;
}
}
},
audio: {
@ -352,7 +352,24 @@ var Device = {
getDuration: function(file) {
return window.DroidGap.getDurationAudio(file);
}
}
},
information: {
getLine1Number: function(){
return window.DroidGap.getLine1Number();
},
getVoiceMailNumber: function(){
return window.DroidGap.getVoiceMailNumber();
},
getNetworkOperatorName: function(){
return window.DroidGap.getNetworkOperatorName();
},
getSimCountryIso: function(){
return window.DroidGap.getSimCountryIso();
},
getTimeZoneID: function(){
return window.DroidGap.getTimeZoneID();
}
}
}

View File

@ -149,7 +149,14 @@ audio = function(func)
}
}
phInformation = function(){
alert ('Device.information.getLine1Number()');
$('phnumber').value = Device.information.getLine1Number();
$('vmnumber').value = Device.information.getVoiceMailNumber();
$('nwoperator').value = Device.information.getNetworkOperatorName();
$('simiso').value = Device.information.getSimCountryIso();
$('tzid').value = Device.information.getTimeZoneID();
}
addLoadEvent(initGap);
@ -175,6 +182,7 @@ addLoadEvent(initGap);
<li><a href="#notification" onclick="notification();">Notification...</a></li>
<li><a href="#http" onclick="http();">HTTP...</a></li>
<li><a href="#esm" onclick="">External Storage</a></li>
<li><a href="#pi" onclick="phInformation();">Phone Info...</a></li>
<li><a href="http://phonegap.com/" target="_self">About</a></li>
</ul>
@ -334,16 +342,17 @@ addLoadEvent(initGap);
<div id="esm" title="Storage" class="panel" >
<h2>Storage Management</h2>
<fieldset>
<div class="row">
<label>File Status</label>
<input disabled="enabled" name="file_status" id="file_status" value="" type="text"></input>
</div>
<div class="row">
<a class="button leftButton" type="submit" onclick="fileManagement('testSDCard');">Check Status</a>
</div> <div class="row">
<a class="button leftButton" type="submit" onclick="fileManagement('testExistence')">Check File</a>
<input type=text name="checkfile" id="checkfile" size=60 maxlength=2048 value="" style="width: 30ex"></input>
</div>
<div class="row">
<label>File Status</label>
<input disabled="enabled" name="file_status" id="file_status" value="" type="text"></input>
</div>
<div class="row">
<a class="button leftButton" type="submit" onclick="fileManagement('testSDCard');">Check Status</a>
</div>
<div class="row">
<a class="button leftButton" type="submit" onclick="fileManagement('testExistence')">Check File</a>
<input type=text name="checkfile" id="checkfile" size=60 maxlength=2048 value="" style="width: 30ex"></input>
</div>
<div class="row">
<a class="button leftButton" type="submit" onclick="fileManagement('createDir');">Create Directory</a>
<input type=text name="createfile" id="createfile" size=60 maxlength=2048 value="" style="width: 30ex"></input>
@ -392,6 +401,33 @@ addLoadEvent(initGap);
</div>
</fieldset>
</div>
<div id="pi" title="Phone Information" class="panel">
<fieldset>
<div class="row">
<label>Phone NO.</label>
<input disabled="enabled" name="phnumber" id="phnumber" value="" type="text" style="width: 30ex"></input>
</div>
<div class="row">
<label>Voice Mail NO.</label>
<input disabled="enabled" name="vmnumber" id="vmnumber" value="" type="text" style="width: 30ex"></input>
</div>
<div class="row">
<label>Operator</label>
<input disabled="enabled" name="nwoperator" id="nwoperator" value="" type="text" style="width: 30ex"></input>
</div>
<div class="row">
<label>Sim Country ISO</label>
<input disabled="enabled" name="simiso" id="simiso" value="" type="text" style="width: 30ex"></input>
</div>
<div class="row">
<label>Time Zone</label>
<input disabled="enabled" name="tzid" id="tzid" value="" type="text" style="width: 30ex"></input>
</div>
</fieldset>
</div>
<div id="preloader"></div></body></html>

View File

@ -0,0 +1,109 @@
package com.nitobi.phonegap;
import java.io.File;
import android.os.Environment;
public class DirectoryManager {
protected boolean isDirtoryOrFileExists (String name){
boolean status;
if ((testSaveLocationExists())&&(!name.equals(""))){
File path = Environment.getExternalStorageDirectory();
File newPath = constructFilePaths(path.toString(), name);
status = newPath.exists();
}else{
status = false;
}
return status;
}
protected boolean createDirectory(String directoryName){
boolean status;
if ((testSaveLocationExists())&&(!directoryName.equals(""))){
File path = Environment.getExternalStorageDirectory();
File newPath = constructFilePaths(path.toString(), directoryName);
status = newPath.mkdir();
status = true;
}else
status = false;
return status;
}
protected boolean testSaveLocationExists(){
String sDCardStatus = Environment.getExternalStorageState();
boolean status;
if (sDCardStatus.equals(Environment.MEDIA_MOUNTED)){
status = true;
}else
status = false;
return status;
}
protected boolean deleteDir (String fileName){
boolean status;
SecurityManager checker = new SecurityManager();
if ((testSaveLocationExists())&&(!fileName.equals(""))){
File path = Environment.getExternalStorageDirectory();
File newPath = constructFilePaths(path.toString(), fileName);
checker.checkDelete(newPath.toString());
if(newPath.isDirectory()){
System.out.println("Dir = "+ fileName);
String[] listfile = newPath.list();
try{
for (int i=0; i < listfile.length; i++){
System.out.println(listfile[i].toString()+" length = "+listfile.length);
File deletedFile = new File (newPath.toString()+"/"+listfile[i].toString());
deletedFile.delete();
}
newPath.delete();
status = true;
}catch (Exception e){
e.printStackTrace();
status = false;
}
}else
status = false;
}else
status = false;
return status;
}
protected boolean deleteFile (String fileName){
boolean status;
SecurityManager checker = new SecurityManager();
if ((testSaveLocationExists())&&(!fileName.equals(""))){
File path = Environment.getExternalStorageDirectory();
File newPath = constructFilePaths(path.toString(), fileName);
checker.checkDelete(newPath.toString());
if (newPath.isFile()){
try {
System.out.println("deleting the file");
newPath.delete();
status = true;
}catch (SecurityException se){
se.printStackTrace();
status = false;
}
}else
status = false;
}else
status = false;
return status;
}
private File constructFilePaths (String file1, String file2){
File newPath;
newPath = new File(file1+"/"+file2);
return newPath;
}
}

View File

@ -22,6 +22,7 @@ package com.nitobi.phonegap;
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
import java.io.IOException;
import java.util.TimeZone;
import android.content.Context;
import android.content.IntentFilter;
@ -319,5 +320,31 @@ public class PhoneGap{
System.out.println(audio.getDuration(file));
return(audio.getDuration(file));
}
public String getLine1Number() {
TelephonyManager tm =
(TelephonyManager)mCtx.getSystemService(Context.TELEPHONY_SERVICE);
return(tm.getLine1Number());
}
public String getVoiceMailNumber() {
TelephonyManager tm =
(TelephonyManager)mCtx.getSystemService(Context.TELEPHONY_SERVICE);
return(tm.getVoiceMailNumber());
}
public String getNetworkOperatorName(){
TelephonyManager tm =
(TelephonyManager)mCtx.getSystemService(Context.TELEPHONY_SERVICE);
return(tm.getNetworkOperatorName());
}
public String getSimCountryIso(){
TelephonyManager tm =
(TelephonyManager)mCtx.getSystemService(Context.TELEPHONY_SERVICE);
return(tm.getSimCountryIso());
}
public String getTimeZoneID() {
TimeZone tz = TimeZone.getDefault();
return(tz.getID());
}
}