簡體   English   中英

如何知道我的應用程序是否在Bluestacks上運行?

[英]How to know whether my App is running on Bluestacks?

我正在研究應用程序的特殊版本,它應該在Bluestacks中運行。 它是一個Windows / mac應用程序,允許在計算機上運行Android應用程序。

當應用程序在Bluestacks中運行時,我想實現特殊行為。 沒有什么復雜的,可能會顯示一個對話框或禁用一些按鈕。

但為此我需要知道該應用程序是否在Bluestacks設備上運行。 我檢查了設備型號( Build.MODEL )和制造商( Build.MANUFACTURER ),但我得知該設備是Samsung GT i900。

有人知道一個明確的方法來了解應用程序是否在Bluestacks上運行?

我知道這是一個非常本地化的問題,但如果我得到一些關於在哪里查看或嘗試什么的想法,那就沒關系了。

嘗試這個:

/**
* Returns true if device is Android port to x86
 */
public static boolean isx86Port()
{
    String kernelVersion = System.getProperty("os.version");
    if(kernelVersion != null && kernelVersion.contains("x86")) // for BlueStacks returns "2.6.38-android-x86+"
        return true;
    return false;
}

最后,我決定使用Android庫為Bluestacks構建一個新的應用程序。 這允許我為bluestacks應用程序添加特殊行為。

我嘗試使用Build類獲取所有信息,但它返回的功能與Samsung Galaxy GT i9000設備相同,因此無法知道設備是否正在bluestack中運行。

嘗試以下代碼:
File test = new File("/data/Bluestacks.prop"); boolean isRunningInBluestacks = test.exists();

這將是獨一無二的。

Bluestack中沒有藍牙設備。

因此,嘗試在Bluestack或Any模擬器上獲取始終為“null”的藍牙地址字符串。確保在項目清單上添加藍牙權限。

BluetoothAdapter m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
String m_bluetoothAdd = m_BluetoothAdapter.getAddress();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM