android中如何模拟QQ登录状态

来源:互联网 发布:淘宝达人的申请理由 编辑:程序博客网 时间:2024/05/01 20:07

程序如下:

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

public class A06Activity extends Activity {
 private NotificationManager nm;
 private String[] status;
 private Spinner s;
 private ArrayAdapter<String> aa;
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        nm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        s=(Spinner)findViewById(R.id.s);
        status=new String[]{"在线","离开"};  //以两个状态来模拟
        aa=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,status);
        aa.setDropDownViewResource(R.layout.my_spinner);       //自定义下拉列表模式
        s.setAdapter(aa);      //将两个状态放置在Spinner中
        s.setOnItemSelectedListener(new OnItemSelectedListener(){

   @Override
   public void onItemSelected(AdapterView<?> arg0, View arg1,
     int arg2, long arg3) {
    // TODO Auto-generated method stub
    if(status[arg2].equals("在线")){
     setNotificationType(R.drawable.qq,"在线");
    }
    else{
     setNotificationType(R.drawable.offine,"离开");
    }
   }

   @Override
   public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub
    
   }
         
        });
    }
   
    public void setNotificationType(int iconId,String s){

//创建新的Intent,作为单击Notification留言条时会运行的Activity
     Intent i=new Intent(A06Activity.this,A06Activity_01.class);
     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

//创建PendingIntent作为设置递延运行的Activity
     PendingIntent pi=PendingIntent.getActivity(A06Activity.this, 0, i, 0);

//创建Notification,并添加相关参数
     Notification n=new Notification();
     n.icon=iconId;  //设置留言图片

     n.tickerText=s;   //设置留言内容
     n.defaults=Notification.DEFAULT_SOUND;  //设置留言默认的声音

//设置Notification留言条的参数
     n.setLatestEventInfo(A06Activity.this, "QQ登录状态", s, pi);
     nm.notify(0, n);     //以NotificationManager.notify()来发出Notification
    }
}

 

//当用户单击Notification列表中的状态时,会启动这个程序,程序以一个Toast来告诉用户这是“模拟登录QQ的状态 的程序”

 

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

public class A06Activity_01 extends Activity{
 protected void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  Toast.makeText(A06Activity_01.this, "这是模拟QQ登录状态的程序", Toast.LENGTH_LONG).show();
 }

}

 

 

AndroidManifest.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="
http://schemas.android.com/apk/res/android"
    package="com.my.a06"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".A06Activity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".A06Activity_01"
            android:label="@string/str"
            ></activity>
    </application>

</manifest>

 

 

原创粉丝点击