(三十一)工具方法:獲得應用程序包名/安裝apk/如何獲得當前棧頂的Activity/android如何實現點擊一個按鈕進入指定網頁


(1)、獲得應用程序包名代碼

/**
     * 獲取當前應用程序的版本號
     * 
     * @return
     */
    private String getVersion() {
        try {
            PackageManager manager = getPackageManager(); // 獲取包管理服務
            PackageInfo ClientInfo = manager
                    .getPackageInfo(getPackageName(), 0); // 獲取包的信息

            return ClientInfo.versionName;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return "版本號未知";
        }
    }

(2)、安裝apk

/**
     * 安裝apk
     * 
     * @param file
     */
    private void install(File file) {

        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.fromFile(file),
                "application/vnd.android.package-archive");
        finish();
        startActivity(intent);
    }

(3)、如何獲得當前棧頂的Activity.

總的步驟是:

1. 得到當前運行環境(context)的Activity管理器;

2. 通過Activity管理器得到當前的任務棧信息;

3. 從任務棧中獲得棧頂的Activity的名稱。

String get TopActivity(Activity context)

    {
        ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE) ;
        List<RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1) ;
        if(runningTaskInfos != null)
            return (runningTaskInfos.get(0).topActivity).toString() ;
        else
            return null ;
    }
    

最后不要忘記在AndroidManifest.xml中增加權限:

<uses-permission android:name = “android.permission.GET_TASKS”/>


其中可能要用的重要的方法:
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
RunningTaskInfo info = manager.getRunningTasks(1).get(0); 
String shortClassName = info.topActivity.getShortClassName(); //類名 
String className = info.topActivity.getClassName(); //完整類名 
String packageName = info.topActivity.getPackageName(); //包名

4、android如何實現點擊一個按鈕進入指定網頁

Uri uri = Uri.parse("http://www.baidu.com");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM