Sameer Zinzuwadia
Sameer Zinzuwadia

Reputation: 3285

android:chat app popup view

I am developing the chat application.I want to show the pop up view when some one send message to user like this http://code.google.com/p/android-smspopup/. there is also reference picture https://market.android.com/details?id=com.blntsoft.emailpopup

Any one any idea how it works?it will show in native application or in other app also.please provide me the link for reference.I am using the service for web services calls.so service will invoke the pop up view.

Thank you.

Upvotes: 2

Views: 4176

Answers (2)

Gem
Gem

Reputation: 1606

Just added

android.permission.SYSTEM_ALERT_WINDOW

permission in manifest and now i can able to show alert from service.

Upvotes: 0

Dharmendra
Dharmendra

Reputation: 33996

As my knowledge you can not open a dialog from Service. But you have one option to open popup window from service for that

1) Make a Layout of popup window.

2) Create on activity and set layout as content view in this activity

3) In manifest you have to write this

 <activity android:theme="@android:style/Theme.Dialog">

4) From service you have to call this activity when you want to open popup.But keep it mind that from service you have to set flag of intent as

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

now you can able to open your activity as popup window.

EDIT

1) Layout 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"
    >
<EditText  android:id="@+id/web"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
    <EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
</LinearLayout>

2) test2.java which will act as Popup

package com.example.AutocompleteTextView;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class Test2 extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

3) Manifest.xml file

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.AutocompleteTextView" android:versionCode="1"
    android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".CustomAutoComplete" android:label="@string/app_name">
        </activity>

        <activity android:name="test1">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="Test2" android:theme="@android:style/Theme.Dialog">
        </activity>
        <service android:name="MyService"></service>
    </application>
</manifest> 

4) Service MyService.java

package com.example.AutocompleteTextView;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Service;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.IBinder;

public class MyService extends Service{

    @Override
    public void onCreate() {
        super.onCreate();
    }

    @Override
    public void onStart(Intent intent, int startId) {
        super.onStart(intent, startId);
        Intent intent1 = new Intent(this, Test2.class);
        intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent1);


    }
    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }

}

this is the activity from which i am starting a service

package com.example.AutocompleteTextView;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.webkit.WebView;
import android.widget.FrameLayout;

public class test1 extends Activity {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main); 
        startService(new Intent(getApplicationContext(), MyService.class));
        finish();

    }
}

Upvotes: 10

Related Questions