Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
70 views
in Technique[技术] by (71.8m points)

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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();

    }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...