2017-07-25 49 views
0

當我打開我的第二個活動時,我希望它在我的android設備上打開請勿打擾模式。但是,我希望請勿打擾通過第二頁開啓(通過打開或通過第二頁上創建的按鈕)。我對堆棧溢出發現的唯一的代碼是在我的Android清單文件程序請勿打擾模式

<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" /> 

我不知道在哪裏何去何從,任何幫助表示讚賞。

+0

試試這個。它需要你正在談論的權限,但你也需要這段代碼。 https://stackoverflow.com/a/35324211/1827254 – Eselfar

回答

0

使用這種方法:

private void setRingerMode(Context context, int mode) { 

    NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
    // Check for DND permissions for API 24+ 
    if (android.os.Build.VERSION.SDK_INT < 24 || (android.os.Build.VERSION.SDK_INT >= 24 && !nm.isNotificationPolicyAccessGranted())) { 
     AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); 
     audioManager.setRingerMode(mode); 
     } 
} 

哪裏mode參數可以是AudioManager.RINGER_MODE_SILENT或 AudioManager.RINGER_MODE_NORMAL

+0

這是否只打開第二頁打開請勿打擾?這進入清單文件,正確嗎? –

+0

@LaurenL,它只是一個你可以使用的java方法。我建議你把它放到單獨的文件中,叫做Utils。然後,在Acitvity2的onCreate()調用Utils.setRingerMode(this,AudioManager.RINGER_MODE_SILENT); – Valentun

+0

你有沒有我必須加入的代碼的例子,我是編程新手,我的團隊項目中沒有其他人熟悉它。我創建了單獨的文件,在java中,它只是文本,我不知道這是否正確。而onCreate,是否在Activity2 java文件或清單中的Activity 2下? –