Ⅰ android 通知欄如何跳轉到應用程序
android通知欄點擊通知跳轉到應用程序,可以在接收通知的方法中,寫一個intent,將該應用的主程序類寫入參數中,就可以啟動,代碼如下:
// 創建一個NotificationManager的引用
NotificationManager notificationManager = (NotificationManager)
this.getSystemService(android.content.Context.NOTIFICATION_SERVICE);
// 定義Notification的各種屬性
Notification notification =new Notification(R.drawable.icon,
"督導系統", System.currentTimeMillis());
//FLAG_AUTO_CANCEL 該通知能被狀態欄的清除按鈕給清除掉
//FLAG_NO_CLEAR 該通知不能被狀態欄的清除按鈕給清除掉
//FLAG_ONGOING_EVENT 通知放置在正在運行
//FLAG_INSISTENT 是否一直進行,比如音樂一直播放,知道用戶響應
notification.flags |= Notification.FLAG_ONGOING_EVENT; // 將此通知放到通知欄的"Ongoing"即"正在運行"組中
notification.flags |= Notification.FLAG_NO_CLEAR; // 表明在點擊了通知欄中的"清除通知"後,此通知不清除,經常與FLAG_ONGOING_EVENT一起使用
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
//DEFAULT_ALL 使用所有默認值,比如聲音,震動,閃屏等等
//DEFAULT_LIGHTS 使用默認閃光提示
//DEFAULT_SOUNDS 使用默認提示聲音
//DEFAULT_VIBRATE 使用默認手機震動,需加上<uses-permission android:name="android.permission.VIBRATE" />許可權
notification.defaults = Notification.DEFAULT_LIGHTS;
//疊加效果常量
//notification.defaults=Notification.DEFAULT_LIGHTS|Notification.DEFAULT_SOUND;
notification.ledARGB = Color.BLUE;
notification.ledOnMS =5000; //閃光時間,毫秒
// 設置通知的事件消息
CharSequence contentTitle ="督導系統標題"; // 通知欄標題
CharSequence contentText ="督導系統內容"; // 通知欄內容
Intent notificationIntent =new Intent(MainActivity.this, MainActivity.class); // 點擊該通知後要跳轉的Activity
PendingIntent contentItent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(this, contentTitle, contentText, contentItent);
// 把Notification傳遞給NotificationManager
notificationManager.notify(0, notification);
Ⅱ 安卓開發 擊按鈕實現頁面跳轉,本人菜鳥,請講下原理,再講下代碼如何寫
首先 要定義個按鈕
其次是設置按鈕的點擊事件
之後將頁面跳轉的 事件加入到Button的點擊事件里
具體如下吧
button=(Button)this.findViewById(R.id.button);
這是設置按鈕,之後是點擊事件的設置
點擊事件的設置有兩個
第一個如下
button.setOnClickListener(this);
這種情況是使用本類的事件方法,使用這種方法有個前提 就是需要引用介面如下圖
這是一種傳統的intent使用方法。
Ⅲ 安卓編程 如何實現頁面的自動跳轉 比如打開一個安卓軟體,從最初的畫面停留幾秒後再跳到應用裡面去
安卓編程事先等待幾秒可以使用Handler類,該類有延時的方法,示例如下:
Runnablerunnable=newRunnable(){//新建一個線程
@Override
publicvoidrun(){
Intentintent=newIntent();//新建一個意圖,也就是跳轉的界面
intent.setAction("com.iStudy.Study.Main");
startActivity(intent);//開始跳轉
finish();
}
};
Handlerhandler=newHandler();
handler.postDelayed(runnable,1500);//等待1.5秒之後執行跳轉,這個數值可以自己修改。
Ⅳ 安卓應用開發中Activity之間怎麼用按鈕進行跳轉
activity的跳轉一般有兩種方式,一種是用action的隱式跳轉,還有種就是用類名做的顯式跳轉。
對於初學者來說(比如我)還是比較喜歡用顯式跳轉,因為比較方便,也不用配置那麼多的東西
Intent intent = new Intent(當前activity.this,要跳轉到的activity.class);
startActivity(intent);
這樣就能跳轉過去了。
按鈕的操作,就是給按鈕做一個點擊事件
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
然後把跳轉的那一條語句放到這裡面
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(當前activity.this,要跳轉到的activity.class);
startActivity(intent);
}
});
跳轉就完成了。
關於隱式和顯示跳轉之間的關系還有方式可以到下面的鏈接去看看http://blog.sina.com.cn/s/blog_5d2e69770102v0ra.html
Ⅳ 安卓中如何實現頁面跳轉
安卓實現頁面跳轉及傳遞參數教程:
用類名跳轉
Intent負責對應用中一次操作的動作、動作涉及數據、附加數據進行描述,Android則根據此Intent的描述, 負責找到對應的組件,將 Intent傳遞給調用的組件,並完成組件的調用。Intent在這里起著實現調用者與被調用者之間的解耦作用。
Intent傳遞過程中,要找到目標消費者(另一個Activity,IntentReceiver或Service),也就是Intent的響應者。
Java代碼packagecom.Android;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.view.View.OnClickListener;
{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.formstuff);
finalImageButtonbutton=(ImageButton)findViewById(R.id.android_button);
button.setOnClickListener(newOnClickListener(){
publicvoidonClick(Viewv){
//用類名跳轉,需要在AndroidManifest.xml中申明activity
Intentintent=newIntent(FormStuff.this,HelloTabWidget.class);
startActivity(intent);
}
});
}
復制代碼Xml代碼<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.Android"android:versionCode="1"android:versionName="1.0">
<applicationandroid:icon="@drawable/icon"android:theme="@android:style/Theme.NoTitleBar">
<activityandroid:name=".FormStuff"android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!--申明activity-->
<activityandroid:name="HelloTabWidget"></activity>
</application>
<uses-sdkandroid:minSdkVersion="4"/>
</manifest>
使用Action跳轉實現
使用Action跳轉,如果有一個程序的 AndroidManifest.xml中的某一個Activity的IntentFilter段中定義了包含了相同的Action那麼這個Intent 就與這個目標Action匹配。如果這個IntentFilter段中沒有定義 Type,Category,那麼這個 Activity就匹配了。但是如果手機中有兩個以上的程序匹配,那麼就會彈出一個對話可框來提示說明。
Action的值在Android中有很多預定義,如果想直接轉到你自己定義的Intent接收者,可以在接收者的 IntentFilter中加入一個自定義的Action值(同時要設定 Category值為"android.intent.category.DEFAULT"),在Intent中設定該值為Intent的 Action,就直接能跳轉到自己的Intent接收者中。因為這個Action在系統中是唯一的。
data/type,可以用Uri來做為data,比如Uri uri = Uri.parse(http://www.google.com);
Intent i = new Intent(Intent.ACTION_VIEW,uri);手機的Intent分發過程中,會根據http://www.google.com 的scheme判斷出數據類型type
手機的Brower則能匹配它,在Brower的Manifest.xml中的IntenFilter中首先有ACTION_VIEW Action,也能處理http:的type。
至於分類Category,一般不要去在Intent中設置它,如果寫Intent的接收者,就在Manifest.xml的 Activity的 IntentFilter中包含android.category.DEFAULT,這樣所有不設置 Category(Intent.addCategory(String c);)的Intent都會與這個Category匹配。
extras(附加信息),是其它所有附加信息的集合。使用extras可以為組件提供擴展信息,比如,如果要執行「發送電子郵件」這個動作,可以將電子郵件的標題、正文等保存在extras里,傳給電子郵件發送組件。
Java代碼packagecom.android.edit_text;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.KeyEvent;
importandroid.view.View;
importandroid.widget.EditText;
{
privateTextViewm_TextView;
privateEditTextm_EditText;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
m_EditText=(EditText)this.findViewById(R.id.EditText01);
m_EditText.setOnKeyListener(editTextKeyListener);
}
privateEditText.=newEditText.OnKeyListener(){
@Override
publicbooleanonKey(Viewarg0,intarg1,KeyEventarg2){
//action跳轉,需要在AndroidManifest.xml中配置action
Intenti=newIntent("android.intent.action.mydialog");
MyEditText.this.startActivity(i);
returnfalse;
}
};
}
復制代碼Xml代碼<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.edit_text"android:versionCode="1"
android:versionName="1.0">
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<activityandroid:name=".MyEditText"android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!--配置跳轉activity-->
<activityandroid:name="com.android.dialog.MyDialog">
<intent-filter>
<!--配置action路徑-->
<actionandroid:name="android.intent.action.mydialog"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
<uses-sdkandroid:minSdkVersion="7"/>
</manifest>