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);
}
这样也行