3

私はアプリケーションを開発しています、アプリが開いているとき、通知が表示される不在着信があるかもしれません、通知バーを非表示または削除する方法とそれを実装する方法はありますか?私は私のアプリケーションに以下のようなすべてのコードを入れました、

requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                                WindowManager.LayoutParams.FLAG_FULLSCREEN);

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 

しかし、ブロードキャストレシーバーを使用してアクティビティファイルを開くと、不在着信またはメッセージが到着したときに通知が表示されます

4

3 に答える 3

3

次のコードを使用できます。

public class FullScreen
    extends android.app.Activity
{
    @Override
    public void onCreate(android.os.Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.main);
    }
}
于 2012-12-20T12:59:06.883 に答える
1

私はあなたとまったく同じ問題を抱えていましたが、着信と発信の両方で問題が発生しました。着信/不在着信の解決策を見つけましたが、発信通話の解決策はまだ見つかりませんでした。

これから行うことは次のとおりです

。1。BroadCastReceiverクラスを作成して、最高の優先度で着信をリッスンします。

a。Manifest.xmlに以下を追加します。

    <receiver android:name=".MyPhoneBroadcastReceiver">
        <intent-filter android:priority="99999">
            <action android:name="android.intent.action.PHONE_STATE" />
        </intent-filter>
    </receiver>

b。次にクラス

@Override
public void onReceive(final Context context, Intent intent) {

    Bundle extras = intent.getExtras();

    if (extras != null) {

        String state = extras.getString(TelephonyManager.EXTRA_STATE);          
        final String incomingNumber = extras.getString("incoming_number");

        Handler callActionHandler = new Handler();

        Runnable runRingingActivity = new Runnable(){
            @Override
            public void run() {
                 //Notice the intent, cos u will add intent filter for your class(CustomCallsReceiver)
                Intent intentPhoneCall = new Intent("android.intent.action.ANSWER");
                intentPhoneCall.putExtra("INCOMING_NUM", incomingNumber);
                intentPhoneCall.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(intentPhoneCall);
            }
        };
        if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
            //increase the delay amount if problem occur something like -the screen didn't show up- that's the key about this method(the delay).
            callActionHandler.postDelayed(runRingingActivity, 100);    
        }
        if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
            callActionHandler.removeCallbacks(runRingingActivity);
        }

    }
}

2.a. Manifest.xmlファイルで、カスタムコールレシーバーとして使用するクラスにこのインテントフィルターを追加します。

    <activity android:name="CustomCallsReceiver" android:noHistory="true" android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.ANSWER" />
             <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>    
    </activity>

2.b.CustomeCallsReceiverクラス:

public class CustomCallsReceiver extends Activity {

private String TAG = "CustomCallsReceiver";
String incomingNumber, caller;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.custome_calls_receiver);

    TextView number = (TextView) findViewById(R.id.number);
    number.setGravity(Gravity.CENTER);

    incomingNumber = getIntent().getExtras().getString("INCOMING_NUM");
    caller = getCallerName(incomingNumber);

    if (caller != null) {
        number.setText(caller + "\n" + incomingNumber);  }  }

3.そして最後に、もちろん、Manifest.XMLファイルにタイトルまたは通知バーではないテーマを追加することを忘れないでください

    <application
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
于 2012-12-30T12:03:39.137 に答える
0

Androidマニフェスト.xmlでテーマを設定する必要があります。

 android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 

これがお役に立てば幸いです。

これをアプリケーションテーマとして設定すると、アプリのすべてのページが有効になります。

   <application
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
         >
于 2012-12-20T12:58:56.973 に答える