android跳轉設置
1. Android推送通知許可權判斷及跳轉到許可權設置界面(完善兼容8.0)
有時候產品要求增加一個推送通知的開關(有些還要求具體到哪些通知,比如廣告類? 比如重大熱點等?)。
我們首先想到的肯定就是再推送回調介面裡面判斷開啟的狀態,進而進行過濾!沒錯,如果對於關閉通知肯定沒問題。但是對於開啟通知有個問題?就是即使你開啟了這個狀態值,但是如果 系統關閉了該應用的通知許可權 ,那麼你開啟了其實也沒有用對吧?
所以正常的邏輯是:
1. 如果關閉,則不用判斷許可權,直接關閉就行
2. 如果開啟,首先判斷是否有通知許可權,如果有則走關閉邏輯就行;如果沒有,則把開關狀態重置回來,然後申請通知許可權 - 通知許可權開啟後再次開啟就沒有問題了
**a> **直接給判斷許可權的工具類:
b> 跳轉到通知設置的界面(自己做了下完善和測試)
啊哈!!目前就是醬紫,這個應該有官方的吧,我找找看...有相關類的說明,但是具體的案例沒有。不過有具體的一些個解釋:
比如: Settings | Android Developers
再比如判斷的方式:
意思就是說:當一個NotificationChannel 被阻塞時,這個getImportance()的值就是IMPORTANCE_NONE,其他情況則不是。所以8.0也就可以根據這個狀態來做判斷.8.0以下的話採用的是反射的方式 - 這個具體的大家可以研究一下。小白暫時不研究了,先做個記錄和簡單學習。
最後使用邏輯:Switch控制項(selector_thumb, selector_track就是slector,裡面就是一些個shape文件...)
剩下的你可以測測了喲...小寶貝...
2. 怎樣在android中設置點擊按鈕實現頁面跳轉
首先:
建立要跳轉的Activity,並在清單文件注冊。這里假設注冊的活動為NextActivity
其次
布局(例如main,xml):加個Button,並加上id,如button1
代碼里:
首先聲明Button的變數:private Button bn;(聲明在OnCreat方法外面)
然後綁定:bn=(Button)findViewById(R.id.button1);
然後弄一個監聽,實現匿名內部類
bn.setOnClickListener(new Button.OnClickListener(){//創建監聽
public void onClick(View v) {
Intent inten=new Intent(MainActivity.this,NextActicity.class);
startActivity(intent);
}
});
當然 如果你嫌匿名內部類太麻煩,也可以在按鈕中寫一個android:onClick="onclick"事件來實現
代碼里加
public void onclick(View v){
Intent inten=new Intent(MainActivity.this,NextActicity.class);
startActivity(intent);
}
這樣也行