我的微信应用程序无法启动信息启动

您的位置:
→ 微小秘怎么启动微信?微小秘启动微信教程
微小秘怎么启动微信?微小秘启动微信教程[多图]
字体大小:【 |
11:56:17&&&
类型:大小:评分:平台:标签:
做的朋友尤其需要这款,这个能够帮助大家自动添加附近人,一键群发消息的软件,只要使用微小秘编辑好内容,启动就能加人发消息啦~!那么微小秘怎么启东微信呢?下面网侠小编就为大家详细介绍。
下载安装,打开;
选择类别,编辑信息,信息内容一定要有内容,关键字可以不设置,然后点击下方的启东微信;
以上就是微小秘启动微信的教程啦,更多微小秘的相关介绍请继续关注“网侠手机站”!
更多微粉色微信内容,请进入专题:西西软件下载最安全的下载网站、值得信赖的软件下载站!
→ 最新版微信群发助手在哪
怎么开启微信群发助手
类型:游戏存档大小:7.2M语言:中文 评分:4.5
最近更新了最新版本,不过有些小伙伴却找不到群发助手在哪了,这样就没法跟好友群发消息了,那么下面小编就教大家怎么开启最新版微信群发助手。微信群发助手官方最新版:1、登陆微信,点击右下角的“我”,进入到个人信息页面。点击“设置”。2、在显示的页面中,点击“通用”。3、再点击“功能”。4、会显示你已经启用的功能和未启用的功能,在未启用的功能中找到“群发助手”。5、点击,在跳转出来的页面中点击“启用该功能”,就能够开启群发助手功能,对你的好友们进行群发啦!这样您就可以成功开启最新版微信的微信群发助手了哦,希望可以帮助到大家。
蹴鞠即足球,在中国宫廷十分盛行,并借由朝日等国的留学生遣唐使而得以传播至海外,由于水浒传的广泛影响,中国人对送货中酷爱踢球并提拔球技高潮的高俅为太尉,最后丢掉江山的故事在东亚各国家喻户晓。面对足球运动在世界范围内的巨大影响力和号召力,自电子游戏产业诞生伊始,就有人构想把足球制作到游戏中,在现代足球诞生一百多年后,足球游戏作为电子游戏产业的一个组成部分,也就此登上了历史舞台年,贝利在玩雅达利公司出品...
10-28 / 14.2M
推荐理由:指尖足球传奇有很好的可玩性,虽然看似玩法简单,但是没有过多的时间去浪费,玩家需要一些技巧来全面掌控比
05-15 / 24.0M
推荐理由:火柴人足球游戏来了,神奇的火柴人这次成了足球运动员,身为玩家的你将控制火柴人在球场上陈驰,火柴人系列
04-23 / 48.3M
推荐理由:足球经理这款游戏在PC平台上人气甚高,这款足球经理手机版是官方出品,平均每月有4500万人在玩这个游戏。在
06-12 / 74.6M
推荐理由:足球舞步 Soccer Moves游戏中的后卫角色都是根据过去和当下的知名球员的原型设计,你是否做梦都在想如何要绕
05-15 / 106.9M
推荐理由:梦幻足球联盟无限金币版说明:游戏已经修改了金币数量为无限使用!官方介绍:《梦幻足球联盟 Dream League
12-11 / 46.0M
推荐理由:足球这项运动到底有多流行,答案从层出不穷的足球游戏里便可略见一二。日本知名游戏厂商世嘉今天在iOS和安卓
02-1902-0601-2801-2701-2301-2101-1701-1501-1401-13
阅读本文后您有什么感想? 已有23人给出评价!
名称大小下载7080人阅读
Android(21)
实现类似微信,QQ的前后台切换:back键切换后台;点击通知栏恢复前台。
1、back键切换后台的实现:
这个实现需要在主activity重写onbackpressed()方法。代码如下:
public void onBackPressed() {
Intent intent= new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
}实现原理其实很简单,本来系统按back键的话是会destroy activity的,在这里,我们重写,改为使用intent启动HOME桌面
public static final String CATEGORY_HOME:
This is the home activity, that is the first activity that is displayed when the device boots.&Constant Value: &android.intent.category.HOME&
谷歌的官方文档写的很清楚,这会启动home activity,也就是手机的桌面程序。这样,我们应用的主activity不会destroy,而只是stop。实现了按home键相同的效果。
2、点击通知栏恢复前台:
在我们收到消息时,会在通知栏显示消息,并且点击通知栏消息后,程序可以切换到前台。下面是程序的结构:
程序结构如上图所示:MainActivity为主Activity,类似于微信,QQ的主界面;ShowPushActivity显示消息内容,类似于微信,QQ的聊天activity;MyApplication继承Application,实现通知栏的显示等操作;BringToFrontReceiver接受通知栏广播,将程序切换至前台。
 * Created by neal on .
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        NotificationCompat.Builder mBuilder =
                new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.ic_launcher)
                        .setContentTitle(&QQ&)
                        .setContentText(&您收到了一条新消息&);
        Intent intent=new Intent(BringToFrontReceiver.ACTION_BRING_TO_FRONT);
        mBuilder.setContentIntent(PendingIntent.getBroadcast(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT));
        mBuilder.setAutoCancel(true);
        NotificationManager mNotificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        // mId allows you to update the notification later on.
        Notification notification=mBuilder.build();
        mNotificationManager.notify(1, notification);
    }
}上述代码实现应用启动后通知栏的显示,用户点击后发送广播到BringToFrontReceiver。模拟收到push消息。
如果我们只是单纯的实现此时将程序切换到前台,我自己想出如下两种实现方式:
1、利用activitymanager的&moveTaskToFront 方法:
下面是接受到广播后的代码:
public class BringToFrontReceiver extends BroadcastReceiver {
public static final String ACTION_BRING_TO_FRONT =&neal.pushtest.action.BringToFront&;
public BringToFrontReceiver() {
public void onReceive(Context context, Intent intent) {
//获取ActivityManager
ActivityManager mAm = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
//获得当前运行的task
List&ActivityManager.RunningTaskInfo& taskList = mAm.getRunningTasks(100);
for (ActivityManager.RunningTaskInfo rti : taskList) {
//找到当前应用的task,并启动task的栈顶activity,达到程序切换到前台
if(rti.topActivity.getPackageName().equals(context.getPackageName())) {
 mAm.moveTaskToFront(rti.id,0);
//若没有找到运行的task,用户结束了task或被系统释放,则重新启动mainactivity
Intent resultIntent = new Intent(context, MainActivity.class);
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(resultIntent);
&uses-permission android:name=&android.permission.GET_TASKS&/&
&uses-permission android:name=&android.permission.INTERACT_ACROSS_USERS_FULL&/&
&uses-permission android:name=&android.permission.GET_TOP_ACTIVITY_INFO&/&
&uses-permission android:name=&android.permission.REORDER_TASKS&/&
原理就是首先获取当前应用的task,然后利用moveTaskToFront,将该task切换到前台。若是没有活动的task,则重新启动程序。
但是moveTaskToFront只支持到3.0,那么3.0一下怎么实现呢,看方法2
2、自己利用startactivity实现:
除了moveTaskToFront,我们也可以自己利用task与back stack的一些性质来实现,如果对于task与back stack不是特别了解,可以看一下我写的这两篇文章
下面是接受到广播后的代码:
public class BringToFrontReceiver extends BroadcastReceiver {
public static final String ACTION_BRING_TO_FRONT =&neal.pushtest.action.BringToFront&;
public BringToFrontReceiver() {
public void onReceive(Context context, Intent intent) {
//获取ActivityManager
ActivityManager mAm = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
//获得当前运行的task
List&ActivityManager.RunningTaskInfo& taskList = mAm.getRunningTasks(100);
for (ActivityManager.RunningTaskInfo rti : taskList) {
//找到当前应用的task,并启动task的栈顶activity,达到程序切换到前台
if(rti.topActivity.getPackageName().equals(context.getPackageName())) {
resultIntent = new Intent(context, Class.forName(rti.topActivity.getClassName()));
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(resultIntent);
}catch (ClassNotFoundException e) {
e.printStackTrace();
//若没有找到运行的task,用户结束了task或被系统释放,则重新启动mainactivity
Intent resultIntent = new Intent(context, MainActivity.class);
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(resultIntent);
&uses-permission android:name=&android.permission.GET_TASKS&/&
&uses-permission android:name=&android.permission.INTERACT_ACROSS_USERS_FULL&/&
&uses-permission android:name=&android.permission.GET_TOP_ACTIVITY_INFO&/&
首先获取当前应用的task,然后获得task的栈顶activity,也就是最后打开的activity的名称,然后启动它,既可以切换到前台了。核心是这句话:
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
因为是singletop,所以activity不会重新创建,而是调用onnewintent方法。若是没有活动的task,则重新启动程序。这种方法不存在版本兼容问题,需要的权限还要少一个。
然而当我们观察微信,QQ的话,其点击通知栏不仅仅是将程序切换到前台,而且还会打开消息的对话activity。这个实现其实比只是切换到前台简单多了:
接收到广播后的处理:
public class BringToFrontReceiver extends BroadcastReceiver {
public static final String ACTION_BRING_TO_FRONT =&neal.pushtest.action.BringToFront&;
public BringToFrontReceiver() {
public void onReceive(Context context, Intent intent) {
Intent resultIntent = new Intent(context, ShowPushActivity.class);
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(resultIntent);
}假设我们这里的ShowPushActivity为聊天的activity,那么只需要启动这个activity,并且加上flag:resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_SINGLE_TOP);就可以实现目的了。
这样ShowPushActivity会在后台的task启动,并且会将task带入前台。如果已经有一个ShowPushActivity,不会重新创建,而是调用onnewintent启动activity。
通过上面的介绍我们实现了类似微信,QQ的前后台切换:back键切换后台;点击通知栏恢复前台。其中恢复前台提供了两种方法,是我自己看官方文档,得到的启发,得到了实现。我觉得只要自己肯于静下心来研究Android的官方文档很多问题都可以迎刃而解。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:38443次
排名:千里之外
原创:19篇
转载:50篇
评论:14条
(2)(15)(18)(1)(4)(19)(5)(3)(1)(1)

我要回帖

更多关于 迅雷应用程序无法启动 的文章

 

随机推荐