当前位置:  编程技术>移动开发
本页文章导读:
    ▪起用另一个程序某些方法        启用另一个程序某些方法 DexFile df = new DexFile(new File("/data/app/my_downloaded_lib.apk")); ClassLoader cl = getClassLoader(); Class clazz = df.loadClass("com/my/lib/MyClass", cl);  2.cl = new DexClassLoader("/full/path/com.example.apk.........
    ▪ 设立GPS状态        设置GPS状态 很久没写博客了,人懒事多,没有办法,言归正传,今天就说下设置GPS状态吧。很久以前就看过android源码,它是这样设置GPS状态的:private void setGpsState(Context context, boolean state).........
    ▪ 卸载程序跟监听卸载事件       卸载程序和监听卸载事件 package com.TestUI; import java.util.List; import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.text.format.Time; import android.util.Log; import android.view.View; import an.........

[1]起用另一个程序某些方法
    来源: 互联网  发布时间: 2014-02-18
启用另一个程序某些方法

DexFile df = new DexFile(new File("/data/app/my_downloaded_lib.apk")); 
ClassLoader cl = getClassLoader(); 
Class clazz = df.loadClass("com/my/lib/MyClass", cl); 

2.cl = new DexClassLoader("/full/path/com.example.apk", 
                        getFilesDir().getAbsolutePath(),// /data/data/foo/files 
                        null,  // native lib path, I haven't used this 
                        MyClass.class.getClassLoader()); 
// This doesn't make Class.forName() work, instead I do this: 
Class<?> foo = cl.loadClass("com.example.foo"); 
3.

PathClassLoader("/data/app/org.startsmall.myapp.apk",
                ClassLoader.getSystemClassLoader());
final String apkFiles =
            "/data/app/org.startsmall.myapp.apk:" + // myself
            // handlers defined by other developers
            "/data/app/" + handlerClassName.substring(0, lastDotPos) + ".apk";
  
        dalvik.system.PathClassLoader myClassLoader =
            new dalvik.system.PathClassLoader(
                apkFiles,
                ClassLoader.getSystemClassLoader());
  
         // ...
  
        try {
            Class<?> handler =
                Class.forName(handlerClassName, true, classLoader);
  
            // Call reflective APIs.
  
       } catch (ClassNotFoundException e) {
            // .....

    
[2] 设立GPS状态
    来源: 互联网  发布时间: 2014-02-18
设置GPS状态
很久没写博客了,人懒事多,没有办法,言归正传,今天就说下设置GPS状态吧。

很久以前就看过android源码,它是这样设置GPS状态的:

private void setGpsState(Context context, boolean state) {
    ContentResolver resolver = context.getContentResolver();
    Settings.Secure.setLocationProviderEnabled(resolver, LocationManager.GPS_PROVIDER, state);
}


可是,在android 2.2以前的版本中,Google并没有给我们的SDK开放这个函数,如果你的工程中用到它,只能到源码环境下去能编。还好,android 2.2中已经开放了这个函数。

Google经常以安全为由,在SDK中关闭了很多API,开发者只能到源码环境下去调用它。我真的很怀疑,难道这样就安全了吗?仅仅是在门口加了个台阶而已。

    
[3] 卸载程序跟监听卸载事件
    来源: 互联网  发布时间: 2014-02-18
卸载程序和监听卸载事件
package com.TestUI;

import java.util.List;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.text.format.Time;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View.OnClickListener;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.LightingColorFilter;
import android.graphics.PorterDuff;
import android.graphics.PorterDuff.Mode;

public class TestUI extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
  
    private Button button;   
    public mDeleteReceiver mDelete;
    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setContentView(R.layout.main);
        text = (TextView) findViewById(R.id.textview);
        button=(Button)findViewById(R.id.button);
      
        
        button.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent delete = new Intent(Intent.ACTION_DELETE,Uri.parse("package:com.et.TextScroll"));
				startActivity(delete);
								
			}
		});       
    }


	public class mDeleteReceiver extends BroadcastReceiver{

		@Override
		public void onReceive(Context context, Intent intent) {
			// TODO Auto-generated method stub
			Toast.makeText(context, "卸载", Toast.LENGTH_LONG).show();
			Log.i("11111", "22222222222");
		}
		
	}
	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_DATA_CLEARED);
		filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
		filter.addDataScheme("package");
		mDelete = new mDeleteReceiver();
		registerReceiver(mDelete, filter);
		super.onResume();
	}
	/***不能在onPause()注销这个广播,因为跳转到卸载画面时这个activity是pause状态**/
	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		//unregisterReceiver(mDelete);
		super.onPause();
	}
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		unregisterReceiver(mDelete);
		super.onDestroy();
	}
}

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
网络技术 iis7站长之家
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3