1. 程式人生 > >android中判斷當前執行activity名的方法

android中判斷當前執行activity名的方法

本文例項講述了android獲取當前執行Activity名字的方法,可以避免即時聊天再出現通知的情況。分享給大家供大家參考。具體方法如下:

最近在做聊天時需要知道當前Activity是哪一個Activity.整理了兩種方法:

第一種:要方便一點(Service中無法使用)

private String getRunningActivityName() {  

        String contextString = context.toString();  

        return contextString.substring(contextString.lastIndexOf(".") + 1, contextString.indexOf("@"));  

}
第二種:要稍微麻煩一點,需要一個許可權(推薦)
<uses-permission android:name="android.permission.GET_TASKS" />   
 private String getRunningActivityName(){          

        ActivityManager activityManager=(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);  

        String runningActivity=activityManager.getRunningTasks(1).get(0).topActivity.getClassName();  

        return runningActivity;                 

} 



相關推薦

android判斷當前執行activity方法

本文例項講述了android獲取當前執行Activity名字的方法,可以避免即時聊天再出現通知的情況。分享給大家供大家參考。具體方法如下: 最近在做聊天時需要知道當前Activity是哪一個Activity.整理了兩種方法: 第一種:要方便一點(Service中無法使

Android判斷當前執行緒是否是主執行

通過Thread.currentThread()得到當前執行緒,通過Looper.getMainLooper().getThread()得到主執行緒,進行比較即可。 public boolean isMainThread() { return Thre

[Android] Android獲取當前頂部Activity方法歷史版本彙總

在做一個顯示當前頂部activity名和包名的ToolApp時遇到的問題。在Android5.0之前,獲取top Activity方法非常簡單。直接使用getRunningTasks方法即可。 //getRunningTasks() is deprecated

Android判斷當前API的版本號

    public static class VERSION_CODES {         /**          * Magic version number for a current development build, which has          * not yet turned i

Android判斷service是否在執行

/** * 判斷服務是否開啟 * * @return */ public static boolean isServiceRunning(Context context, String ServiceName) { if (TextUti

Android使用非同步執行緒更新UI檢視的幾種方法

在Android中子執行緒是不能更新ui的。 所以我們要通過其他方式來動態改變ui檢視, 1、runOnUiThreadactivity提供的一個輕量級更新ui的方法,在Fragment需要使用的時候要用getActivity.runOnUiThread開啟執行緒 這種方法最簡單,方便更新一些不需要判斷的

Android檢視當前Activity是否銷燬

進入到Android-sdk中platform-tools目錄 在命令列中執行以下命令 adb shell dumpsys activity>activity.txt 可以將當前的四大元件(Activity,Service,BroadCase,ContentProvider)的存在情況列印到當前目錄的

Android為什麼主執行緒不會因為Looper.loop()方法造成阻塞

很多人都對Handler的機制有所瞭解,如果不是很熟悉的可以看看我 如果看過原始碼的人都知道,在處理訊息的時候使用了Looper.loop()方法,並且在該方法中進入了一個死迴圈,同時Looper.loop()方法是在主執行緒中呼叫的,那麼為什麼沒有造成阻

MFC的View子類判斷當前view是否是活動的方法

CMDIFrameWnd *pFrame = (CMDIFrameWnd *)AfxGetApp()->m_pMainWnd; CMDIChildWnd *pChild = (CMDIChildWnd *)pFrame->GetActiveFrame(); C

Android 判斷當前執行緒是否是主執行

Android 中怎麼判斷當前是否是主執行緒呢?別怕,我有方法 0.0 方法一:通過 Looper 判斷: if (Looper.myLooper() != Looper.getMainLo

Android退出多個Activity的兩個經典方法

一種把每個activity用集合記住,然後逐一干掉;另一種思路是使用廣播。 方法一、用list儲存activity例項,然後逐一干掉 建立一個外部類繼承Application用來存放activity public class MyActvity e

Android獲取當前正在顯示的Activity

1.監聽Activity的生命週期在Application的onCreate方法中監聽Activity的生命週期 registerActivityLifecycleCallbacks(new Activ

Android幾種關閉Activity或app的方法

1. finish()方法 該方法可以結束當前 Activity,但是如果你的App有很多 Activity 的話,使用該方法顯得有點捉襟見肘了。 另外,還有一個方法finishActivity (int requestCode) ,關於這個方法,先看看sdk的api說明吧! public void

JAVA獲取當前執行的類,方法名,行數

public static String getTraceInfo(){ StringBuffer sb = new StringBuffer(); StackTraceElement[] stacks =

Android進入下一個Activity時在上一個Activity主動呼叫onDestroy()方法不會真正將上一個Activity從棧刪除

因為要完成任務,就除錯了一個最基礎的程式,就當再瞭解一下Activity的生命週期了~ 先描述一下大概的情況哈:現在就只有兩個Activity,分別是FirstActivity和SecActivity,在FirstActivity中有一個Button控制元件,功能是按下這個

C#如何判斷當前執行緒是否為主執行

/ Do this when you start your application static int mainThreadId; // In Main method: mainThreadId = System.Threading.Thread.CurrentT

Android原始碼解析之應用程式在新的程序啟動新的Activity方法和過程分析

轉載自:http://blog.csdn.net/luoshengyang/article/details/6720261        前面我們在分析Activity啟動過程的時候,看到同一個應用程式的Activity一般都是在同一個程序中啟動,事實上,A

Android 文字體的設置方法和使用技巧

paint mono tail water 無效 ebo roi eat cep Android TextView字體顏色等樣式具體解釋連接:http://blog.csdn.net/pcaxb/article/details/47341249 1.使用字體庫(自己定

js判斷資料型別的五大方法

js中判斷資料型別有一下幾種方法: typeof、instanceof、 constructor、 prototype、 $.type()/jquery.type(),接下來主要比較一下這幾種方法的異同。 先舉幾個例子: var a = "iamstring."; var b

Android判斷手機是否已經Root

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!