Some time we need to start an Activity from Broadcast Receiver..
how can we achieve this i am going to write step by step.
So lets create a small App to do this things
-------------------------------------------
App Name: BReceiver2Activity
Package Name: com.rdc
Android SDK: Android SDK 2.2 / API 8
-------------------------------------------
MyReceiver.java
package com.rdc; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; import android.widget.Toast; public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "MyReceiver Started", Toast.LENGTH_SHORT).show(); Log.v("Info Message", "in Broadcast receiver"); Intent myIntent=new Intent(context,MyActivity.class); myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(myIntent); } }
MyActivity.java
package com.rdc; import android.app.Activity; import android.os.Bundle; public class MyActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:weightSum="1"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:layout_weight="0.14" /> </LinearLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.rdc" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:enabled="true" android:name=".MyActivity"> <intent-filter> <action android:name="com.rdc.MyActivity"> </action> </intent-filter> </activity> <receiver android:enabled="true" android:name=".MyReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> </application> </manifest>
Now Reboot Emulator, Activity will appear on start-up.
You can download source code here: BReceiver2Activity
cheers!!
I'd love to hear your thoughts!!
RDC thank you big time.:))
ReplyDeleteI was trying for a few weeks to start my GPS based application on phone boot, but without success. I red so many examples but with no luck, until I came to this page.
Thanks once again,
If you ever come to Bosnia, free drinks on me :)
Darko
hehe.. my pleasure :)
Deletewell i'll sure visit Bosnia, to perform live there.
Its very helpful to us.
ReplyDeleteIs it possible to show Alert without any Activity.Am try to develop one project incoming sms having the specific word show Alert with call and sms like.That.Please Reply me .Thanks Advance.