2016-11-25 47 views
0

我使用下面的代碼,詢問用戶能夠掃描總是可用添加應用程序名稱,請求掃描總是可用的(三星)

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.JELLY_BEAN_MR2 && !wifiManager.isScanAlwaysAvailable) 
     startActivity(Intent(ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE)) 

和它的作品,因爲它應該,但三星的Galaxy Note 4文本窗口顯示爲 「無效請求允許」


截圖:

Screenshot

如何用應用程序名稱替換null?

+1

請將您現有的源代碼用於獲取應用程序的名稱。 –

+0

@AndriyOmelchenko我沒有得到應用程序名稱,我不知道該把它放在哪裏,所以TouchWiz可以顯示名稱而不是null。考慮一下,我讀了應用程序名稱爲常量字符串(它不可翻譯) –

+0

你試過[「標準」](https://developer.android.com/training/permissions/requesting.html)方法嗎? –

回答

-2

你爲什麼不嘗試,而不是比較的版本名稱此嘗試比較的版本號

private static final int REQUEST_SCAN_ALWAYS_AVAILABLE = any_number; 

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); 

if (Build.VERSION.SDK_INT >= 18 && !wifiManager.isScanAlwaysAvailable()) { 
    startActivityForResult(new Intent(WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE, REQUEST_SCAN_ALWAYS_AVAILABLE)); 
} 

,爲resutl使用以下事件

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // Check which request we're responding to 
    if (requestCode == REQUEST_SCAN_ALWAYS_AVAILABLE) 
    { 
     // Make sure the request was successful 
     if (resultCode != RESULT_OK) 
     { 
      //User has not enabled the scan always available inform him to activate it 
     } 
    } 
} 
+0

1.我將數字與名稱進行比較。 2.代碼工作正常,只是應用程序名稱顯示爲「空」3.實際上我不需要結果 –

+0

,你是對的 - 我應該使用'startActivityForResult'而不是'startActivity' –

相關問題