1. 防止连续点击常用的两种方法:
1)申明一个布尔值为false,点击时判断是否为true,点击成功后改变为true,事件结束后变回false。该方法的好处是可以保证只能被点一次,坏处也很明显,何时变回false需要仔细考虑。
2)点击时判断两次点击间隔时间,
public class Utils { private static long lastClickTime; public static boolean isFastDoubleClick() { long time = System.currentTimeMillis(); long timeD = time - lastClickTime; if ( 0 < timeD && timeD < 500) { return true; } lastClickTime = time; return false; } }
该方法的好处是简单易用,放在工具类里面所有的点击时间均可使用,坏处是间隔时间的设置需要考虑。
2.在apk种打开另外一个apk,有两种情况:
1)已知被打开apk的activity,且需要打开特定的activity:
- Intent intent=new Intent();
- intent.setComponent(new ComponentName("应用包名",
- "需要打开的activity路径"));
- startActivity(intent);
2)打开未知activit的apk,只能打开application的入口activity:
PackageManager packageManager = getPackageManager();
Intent intent=new Intent();
try {
intent =packageManager.getLaunchIntentForPackage("要调用应用的包名");
} catch (NameNotFoundException e) {
Log.i(TAG, e.toString());
}
startActivity(intent);
Intent intent=new Intent();
try {
intent =packageManager.getLaunchIntentForPackage("要调用应用的包名");
} catch (NameNotFoundException e) {
Log.i(TAG, e.toString());
}
startActivity(intent);